要在以太坊上構建去中心化應用,你需要知道如何發送交易、簽名并廣播到網絡。通過交易可以轉移以太幣、部署自己的合約以及與其他智能合約交互。在本教程中,我們將向你演示如何放心地執行這些操作,并介紹一些有助于簡化開發工作流的相關代碼庫和命令。
創建以太坊交易
交易是指在區塊鏈上改變狀態的操作。發送以太幣、代幣以及創建或使用智能合約中的函數都屬于交易。如果你對以太坊中的交易還不太熟悉,可查看這些有關賬戶、合約以及以太坊交易類型的實用介紹。
在本文的代碼庫中,你還將找到一系列腳本,向你演示如何使用下面兩種最常用的Javascript庫與以太坊交互:web3
}
該合約有一個函數,任何人都可以使用message進行調用。它將觸發一個事件,該事件回傳輸入的message。
合約編譯
在網絡上部署合約之前,我們需要先編譯合約。這里包含一個簡單的compile.js腳本可用于此目的:
nodecompile.js
編譯合約后,在主目錄中將顯示一個Demo.json文件。該文件包括合約字節代碼以及合約交互所必需的應用程序二進制接口(ABI)。
合約部署
下面這些部署腳本對ethers.js和web3.js均適用。運行其中的任何腳本都可以部署合約:
nodeethers/deploy.js#或nodeweb3/deploy.js
UniLend v2將于10月27日在以太坊測試網上推出:10月16日,據官方消息,DeFi借貸協議UniLend Finance將于10月27日在以太坊測試網上推出UniLend v2。[2022/10/16 17:28:02]
部署合約后,你將收到交易哈希。你可以使用區塊瀏覽器或getTransaction()和eth.getTransactionReceipt()進行檢查。礦工挖到部署交易后,腳本將輸出新合約的地址。
合約交互
部署合約后,你可以與合約交互。你需要通過將合約地址傳遞到to參數,并傳遞一些數據告訴合約如何執行data參數,來執行交易。
Web3實用程序庫為你提供用于簽發合約的高層接口,并且為你生成data參數。
下面簡單解釋這些庫的背后操作:data字段的第一部分是與所調用的合約方法關聯的函數選擇器。我們可以通過獲得函數名稱哈希的前4個字節及其括號內的參數類型來計算函數選擇器。例如,字符串transfer(address,uint256)可以散列到4字節函數簽名0xa9059cbb中。函數簽名與RLP編碼的函數參數連接,構成交易data字段。有關合約ABI規范和參數編碼工作的更多信息,請參閱SolidityABI規范。
下面這些合約交互腳本對ethers.js和web3.js均適用。這些腳本配置為與已有的合約交互,但你可以編輯ethers/call.js的這一行或web3/call.js的這一行,然后將其替換為你部署合約的地址。
Primex Finance在以太坊Goerli測試網推出Primex Beta:10月10日消息,跨鏈衍生品協議Primex Finance宣布在以太坊Goerli測試網上推出Primex Beta,允許用戶體驗其跨DEX現貨保證金交易。
據此前報道,Primex Finance完成570萬美元種子輪融資。(Businesswire)[2022/10/11 10:30:12]
你現在可以運行:
nodeethers/call.js#ornodeweb3/call.js
恭喜!你已經部署了以太坊智能合約并和它交互。你現在可以繼續構建一些精彩內容!
Infura為開發者提供對以太坊和IPFS網絡的快速可靠訪問。我們提供免費核心服務以及開發者構建去中心化應用所需的一切工具和資源。
衷心感謝_LucianBoca_對本指南的編寫做出的廣泛貢獻。有關更多_Web3_教程。
參考資料
有關賬戶、合約以及以太坊交易類型的實用介紹:https://medium.com/@kctheservant/transactions-in-ethereum-e85a73068f74
在本文的代碼庫中:https://github.com/INFURA/demo-eth-tx
我們的技術指南,其中詳細闡述了兩者的相同點和不同點。:https://learnblockchain.cn/article/1851
tBTC計劃今年6月在以太坊推出v2版本:2月12日消息,隱私基礎設施ThresholdNetwork在官方博客發布tBTC2022年路線圖,計劃于6月在以太坊上推出tBTCv2,并在第四季度將tBTCv2擴展到其他L1和L2,以開放且可組合的BTC橋集成到DeFi生態系統中。
據介紹,tBTCv2將是第一個將BTC大規模連接到以太坊的非托管解決方案,并計劃將比特幣的屬性擴展到每個主要網絡。[2022/2/12 9:47:36]
以太坊合約ABI:https://learnblockchain.cn/docs/solidity/abi-spec.html
首選Web3庫:http://blog.infura.io/ethereum-javascript-libraries-web3-js-vs-ethers-js-part-i/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts
EthSigner:https://docs.ethsigner.pegasys.tech/en/stable/
Metamask:https://metamask.io/
Gnosis:https://gnosis.io/
USDC Treasury在以太坊鏈上增發約2007萬枚USDC:Whale Alert數據顯示,北京時間9月18日13:21,USDC Treasury在以太坊網絡上增發20076022枚USDC。哈希值為:0x5b9da5bdda40e2838274cfebc2578577c508aad37d3e06a1c4bae1ecdf88447d。[2020/9/18]
Argent:https://www.argent.xyz/
WalletConnect:https://walletconnect.org/
在MetaMask中如何發送交易:https://docs.metamask.io/guide/sending-transactions.html#example
如何使用NodeJs創建交易、簽名以及在不同賬戶間發送原始交易:https://medium.com/blockchain-musings/how-to-create-raw-transactions-in-ethereum-part-1-1df91abdba7c
eth_sendRawTransactionRPC調用:https://eth.wiki/json-rpc/API#eth_sendrawtransaction
eth_sendTransaction:https://eth.wiki/json-rpc/API#eth_sendtransaction
Pax Treasury在以太坊網絡上銷毀超過777萬枚BUSD:Whale Alert監測數據顯示,北京時間8月2日13:59,Pax Treasury在以太坊網絡上銷毀7770907枚BUSD。[2020/8/2]
HyperledgerBesu:https://besu.hyperledger.org/en/stable/
EthSigner:https://docs.ethsigner.pegasys.tech/en/stable/
eth_sendTransaction:https://docs.ethsigner.pegasys.tech/en/stable/HowTo/Transactions/Make-Transactions/#eth_sendtransaction
一位簽名者:https://docs.ethsigner.pegasys.tech/en/latest/Tutorials/Start-EthSigner/
多位簽名者:https://docs.ethsigner.pegasys.tech/en/latest/Tutorials/Multifile/
進行交易:https://docs.ethsigner.pegasys.tech/en/stable/HowTo/Transactions/Make-Transactions/
Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts
Node.js:https://nodejs.org/en/
Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts
使用ethers.js庫:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/send.js
使用web3.js庫:https://github.com/INFURA/demo-eth-tx/blob/master/web3/send.js
Truffle:https://learnblockchain.cn/docs/truffle/
Buidler:https://github.com/nomiclabs/buidler
Remix:https://remix.ethereum.org/
ethers.js:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/deploy.js
web3.js:https://github.com/INFURA/demo-eth-tx/blob/master/web3/deploy.js
函數選擇器:https://solidity.readthedocs.io/en/v0.5.3/abi-spec.html#function-selector
SolidityABI規范:https://learnblockchain.cn/docs/solidity/abi-spec.html
ethers.js:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/call.js
web3.js:https://github.com/INFURA/demo-eth-tx/blob/master/web3/call.js
這一行:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/call.js#L23
這一行:https://github.com/INFURA/demo-eth-tx/blob/master/web3/call.js#L25
Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts
免費核心服務:https://infura.io/register?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts
本文來源于非小號媒體平臺:
登鏈社區
現已在非小號資訊平臺發布105篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9558541.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
幣安為何推出第三條鏈?這對BNB意味著什么?
DeFi協議須思考如何為用戶提供高度可定制且多功能的平臺,Balancer智能池是在自定義和開源策略方面的積極實踐.
1900/1/1 0:00:00現在,SlushPool慶祝了其開采的第一個區塊97834的10周年紀念日,這是不可思議的十年。然而,這不會是對過去10年的一些自我感覺良好的反映.
1900/1/1 0:00:002020年,COVID-19迫使創作者,品牌和藝術家重新考慮粉絲的獲利和參與策略。許多人轉向虛擬參與和直播.
1900/1/1 0:00:00在PoS中,總體獎勵將非常低;在eth2中,我們預計驗證者每年的獎勵等于ETH總供應量的?0.5-2%。網絡中驗證者質押的幣總量越多,收益率就越低.
1900/1/1 0:00:00尊敬的用戶: TUL將在WBF開放區上線TUL/USDT交易對,具體時間安排如下:充幣時間:2020-12-2112:00交易時間:2020-12-2215:00提幣時間:2020-12-221.
1900/1/1 0:00:00Filecoin滿存算力產品是星際數據推出的Filecoin算力業務,專注于Filecoin挖礦。 Filecoin滿存算力租賃產品無需質押,無需90天封存.
1900/1/1 0:00:00