要在以太坊上構建去中心化應用,你需要知道如何發送交易、簽名并廣播到網絡。通過交易可以轉移以太幣、部署自己的合約以及與其他智能合約交互。在本教程中,我們將向你演示如何放心地執行這些操作,并介紹一些有助于簡化開發工作流的相關代碼庫和命令。
創建以太坊交易
交易是指在區塊鏈上改變狀態的操作。發送以太幣、代幣以及創建或使用智能合約中的函數都屬于交易。如果你對以太坊中的交易還不太熟悉,可查看這些有關賬戶、合約以及以太坊交易類型的實用介紹。
在本文的代碼庫中,你還將找到一系列腳本,向你演示如何使用下面兩種最常用的Javascript庫與以太坊交互:web3
}
該合約有一個函數,任何人都可以使用message進行調用。它將觸發一個事件,該事件回傳輸入的message。
合約編譯
在網絡上部署合約之前,我們需要先編譯合約。這里包含一個簡單的compile.js腳本可用于此目的:
nodecompile.js
編譯合約后,在主目錄中將顯示一個Demo.json文件。該文件包括合約字節代碼以及合約交互所必需的應用程序二進制接口(ABI)。
合約部署
下面這些部署腳本對ethers.js和web3.js均適用。運行其中的任何腳本都可以部署合約:
nodeethers/deploy.js#或nodeweb3/deploy.js
Tether在以太坊鏈上增發10億USDT:據Whale Alert數據顯示,北京時間11月4日22:47,USDT發行方Tether在以太坊鏈上增發10億USDT,交易哈希為:0x24324c3e4fba433bed4851889f4e8161571b54cb049161c1165d1f908d5ba26e。[2021/11/4 6:32: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的這一行,然后將其替換為你部署合約的地址。
Uniswap V3在以太坊Layer2上24小時交易量達1.15億美元,創歷史新高:10月19日消息,Uniswap創始人Hayden Adams發推稱,UniswapV3在以太坊Layer2(Arbitrum和OptimisticEthereum)上24小時交易量達到1.15億美元,創歷史新高。[2021/10/19 20:39:32]
你現在可以運行:
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
SumSwap目前僅在以太坊主網部署 任何其他鏈上部署的均為假項目:近日,市場出現冒用SumSwap名義,在火幣生態鏈等其他鏈上搭建假的SumSwap并用來進行假SUM預售等違法行為。SumSwap對此發出嚴厲譴責并鄭重警告:請不法分子立即停止冒用SumSwap名義進行行騙等行為,SumSwap目前僅在以太坊主網部署,任何其他鏈上部署的均為假項目。
SumSwap任何消息均以官網及官方社群為準,請用戶注意甄別。[2021/5/26 22:46:46]
以太坊合約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/
聲音 | Prysmatic Labs開發人員:已有超2.2萬個驗證器在以太坊2.0測試網上運行:金色財經報道,以太坊2.0單客戶端測試網已經運行了幾周,現在已經達到了一個更穩定的階段。其中一個是Prysmatic Labs的項目,于1月9日與該客戶端的開發人員Raul Jordan共同推出,他們稱其為最大的以太坊2.0測試網。Prysmatic Labs開發人員Preston van Loon表示,有超過22000個活躍驗證器參與,大概有5到10個獨立運營商。總共有70個節點,對于僅建立了四天的測試網來說成就非常大,這也表明了人們對以太坊測試網的發布很感興趣。[2020/1/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
動態 | 2月Github開發活動活躍的20個項目中 有16個建立在以太坊區塊鏈上:據Consensys統計,2月份Github開發活動活躍的20個項目中,有16個建立在以太坊區塊鏈上,2個是區塊鏈互操作性網絡,1個構建于Steem上,還有1個試圖構建于EOS上。[2019/3/5]
eth_sendTransaction:https://eth.wiki/json-rpc/API#eth_sendtransaction
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意味著什么?
尊敬的用戶: 為了提供更好的服務,滿足用戶更精細化的交易需求,GRT(TheGraph)現已從“全球觀察區”轉入“創新區”,同時解除50000USDT的持倉限制.
1900/1/1 0:00:00平行鏈的卡槽拍賣是Polkadot近期最值得期待的活動,但是平行鏈模式的可持續性還有待觀察。原文標題:《Polkadot最新進展:技術、治理與應用》撰文:崔晨,就職于HashKeyCapital.
1900/1/1 0:00:00Gaming/NFT和其他區塊鏈項目不同,他們和傳統世界的結合更緊密,也更容易被普通人所理解和接受.
1900/1/1 0:00:00大家好!我是你們的老朋友趨勢論幣,每日解讀世界經濟要聞,K線走勢解析,實時交易策略及中長線布局.
1900/1/1 0:00:00鏈聞消息,BenediktBünz發布推特稱,已不再與金融隱私公鏈Findora有任何關系,也不對與之相關任何ICO進行背書.
1900/1/1 0:00:00為了使閃電網絡成為一個強大、可靠和可擴展的支付系統,正義機制需要有效地威懾和防止盜竊。然而,最佳正義率很難確定,如果值太高,表明盜竊成功率很高,而正義的威懾作用可能還不夠.
1900/1/1 0:00:00