要在以太坊上構建去中心化應用,你需要知道如何發送交易、簽名并廣播到網絡。通過交易可以轉移以太幣、部署自己的合約以及與其他智能合約交互。在本教程中,我們將向你演示如何放心地執行這些操作,并介紹一些有助于簡化開發工作流的相關代碼庫和命令。
創建以太坊交易
交易是指在區塊鏈上改變狀態的操作。發送以太幣、代幣以及創建或使用智能合約中的函數都屬于交易。如果你對以太坊中的交易還不太熟悉,可查看這些有關賬戶、合約以及以太坊交易類型的實用介紹。
在本文的代碼庫中,你還將找到一系列腳本,向你演示如何使用下面兩種最常用的Javascript庫與以太坊交互:web3
}
該合約有一個函數,任何人都可以使用message進行調用。它將觸發一個事件,該事件回傳輸入的message。
合約編譯
在網絡上部署合約之前,我們需要先編譯合約。這里包含一個簡單的compile.js腳本可用于此目的:
nodecompile.js
編譯合約后,在主目錄中將顯示一個Demo.json文件。該文件包括合約字節代碼以及合約交互所必需的應用程序二進制接口(ABI)。
合約部署
下面這些部署腳本對ethers.js和web3.js均適用。運行其中的任何腳本都可以部署合約:
nodeethers/deploy.js#或nodeweb3/deploy.js
數據:Arbitrum和Optimism上2/3的地址在以太坊主網上也有使用:8月16日消息,Delphi Digital統計數據顯示,目前以太坊二層網絡Arbitrum和Optimism上2/3的地址在以太坊主網上也有使用,或由于缺乏CEX的集成,用戶進入這些L2的唯一方法是從L1上的使用地址進行跨鏈。[2022/8/16 12:28:03]
部署合約后,你將收到交易哈希。你可以使用區塊瀏覽器或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的這一行,然后將其替換為你部署合約的地址。
USDC Treasury在以太坊網絡增發1800萬枚USDC:Whale Alert數據顯示,北京時間4月4日00:26,USDC Treasury在以太坊網絡上增發1800萬枚USDC。增發哈希為:0xc35d0f126896e58108aedd393c503919d087fa95888e7f54a23e047cfea4f72d。[2021/4/4 19:43:57]
你現在可以運行:
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
WBTC Treasury在以太坊網絡上增發近300枚WBTC:Whale Alert數據顯示,北京時間12月28日04:31,WBTC Treasury在以太坊網絡上增發299.85枚WBTC,價值約803.45萬美元,增發哈希為:0xecbbd7c058feeb368313a45c93b1ae9f3216a977e00872237546aeb0482f8d73。[2020/12/28 15:50:41]
以太坊合約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/
Argent:https://www.argent.xyz/
USDC Treasury在以太坊網絡增發1000萬枚USDC:金色財經報道,Whale Alert數據顯示,北京時間8月12日05:39,USDC Treasury在以太坊網絡上增發1000萬枚USDC。增發哈希為:0x1d7668a92dc3d0c2c0161c3a4fc552c70d1d3d1a5aff832438bafe81c67433be。[2020/8/12]
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
HyperledgerBesu:https://besu.hyperledger.org/en/stable/
聲音 | Primitive創始人萬卉:Defi是DApp概念在以太上涼了之后的以太坊自救概念:Primitive Ventures創始人萬卉發微博表示,有很多朋友讓我寫文章講Defi,其實不用寫任何文章,一句話就能解釋清楚—Defi是DApp概念在以太上涼了之后的以太坊自救概念。[2019/7/15]
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意味著什么?
以CryptoKitties和GodsUnchained為代表的區塊鏈游戲憑借著數字資產稀缺性,交易真實性,透明性等優勢進入了人們的視線.
1900/1/1 0:00:00從2008年11月中本聰發表論文「Bitcoin:APeer-to-PeerElectronicCashSystem」算起,比特幣即將迎來第一個十周年.
1900/1/1 0:00:00Curve試圖利用穩定幣的特性實現比Uniswap更好的費率和交易體驗,然而其在優化費率的同時,引入了新的流動性風險.
1900/1/1 0:00:00MobileCoin專注于開發、幾乎不參與輿論的團隊和項目低調的作風使其沒有成為風口浪尖上的眾矢之的.
1900/1/1 0:00:00隨著流動性挖礦玩法的興起,一些不法分子也盯上了這塊“蛋糕”,通過在智能合約上留“漏洞”、“后門”等方式,大肆詐騙投資人數字資產.
1900/1/1 0:00:00BitMEX認為疫情影響下,政府將進行財政擴張,導致通貨膨脹,而比特幣或迎來重大機遇。原文標題:《BitMEX:通貨膨脹就要來了,比特幣或迎來最大機遇》撰文:BitMEXResearch編譯:W.
1900/1/1 0:00:00