譯文出自:登鏈翻譯計劃
譯者:Tiny熊
部署到以太坊主網你需要知道的一切
我們都喜歡以太坊,所以你已經創建了一些出色的智能合約。它們通過單元測試和測試網進行了密集的測試。現在終于到了上主網的時候了。但這是一個棘手的事情...
1.究竟什么是部署交易?
首先讓我們從低層次快速討論一下什么是合約部署。任何以太坊交易本身只由幾個屬性組成,一般有三種交易類型:
發送以太幣
部署智能合約
調用智能合約
這所有三個交易的某些部分對總是相同的:from,value,gas,gasPrice和nonce。它們之間的區別來自于to和data參數,這兩個參數代表了交易被發送到哪里,以及與之一起發送的數據是什么。
發出以太幣交易to:ETH的接收地址
data:空(這里不涉及智能合約)
部署智能合約
to:空
data:智能合約的字節碼。
與智能合約的交互
to:智能合約地址
data:函數選擇器及函數參數數據
2.部署前的考慮因素
你肯定明白智能合約的安全是極其重要的。雖然從一開始就應該遵循最佳實踐-,但在部署到主網之前進行審計是最后也是關鍵的一步。你可以使用https://www
);};
以太坊編程語言Solidity發布最新版本編譯器Solidity 0.8.18,支持巴黎硬分叉:金色財經報道,以太坊編程語言Solidity發布最新版本的Solidity編譯器Solidity0.8.18,新版本的功能包括:禁用CBOR元數據、支持巴黎硬分叉、棄用selfdestruct、從Yul生成EVM字節碼。團隊建議所有Solidity開發人員升級到版本0.8.18以利用這些改進和優化。[2023/2/2 11:43:19]
這里你可以看到一個典型的遷移腳本,它利用了async/await語法。在部署之后,我們將所有權轉移到一個已經部署好的multisig合約上。
將Truffle用于主網的弊端
部署備忘錄
值得一提的是,由于幾個原因,Truffle本身遠不是部署到主網的最佳選擇。
部署的特殊遷移合約增加了Gas成本。盡管可以刪除它。
在主網上,Truffle中的長時間遷移是非常非常痛苦的。
Gas交易成本使主網的部署變得非常困難,你可以在Truffle配置中設置一個Gas價格,但在整個遷移期間都將使用這一個Gas價格。因此,如果Gas價格在你的部署期間大量增加,什么時候被礦工納入區塊,就只能祝你好運。如果一個交易在幾分鐘內沒有被打包,Truffle將直接停止你的部署。你唯一的選擇是設置一個非常高的Gas價格,并希望一切都能快速部署。
你的網絡連接可能會導致問題,你最好不要在長時間的部署中失去連接,否則就準備從頭再來。
以太坊L2網絡總鎖倉量跌至51億美元:金色財經報道,L2BEAT數據顯示,截至目前,以太坊Layer2上總鎖倉量為51億美元。近7日跌幅3.18%,其中鎖倉量最高的為擴容方案Arbitrum,約26.7億美元,占比52.35%。其次是Optimism,鎖倉量14.4億美元,占比28.28%。dYdX占據第三,鎖倉量4.68億美元,占比9.18%。[2022/9/15 6:57:17]
至少,Truffle現在在實際部署前會進行運行模擬部署。你可以用--skip-dry-run跳過測試網的模擬,但不要在主網上這樣做。這將確保你至少不會在中間環節出現錯誤,而不得不從頭開始重新啟動。
總而言之,如果你有錢支付使用Truffle所增加的費用,就去使用它吧。否則,請繼續閱讀替代方案。
b
main()
);
該腳本可以用以下方式調用。
$npxhardhatrunscripts/deploy.ts
另外,你可以使用hardhat-deploy插件,它增加了完成部署后保存在文件的能力。
d.Web3
當然,你總是可以直接使用Web3(或ethers.js)構建你的自定義部署邏輯。當你頻繁地部署合約并需要自定義邏輯來存儲部署信息時,這非常有用。Web3直接支持使用myContract.deploy()進行部署。
constmyContract=newweb3.eth.Contract(jsonABI)myContract.deploy({data:'0x12345...',//bytecodearguments://constructorarguments}).send({from:'0x1234567890123456789012345678901234567891',gas:1500000,gasPrice:'30000000000000'}
高盛正在以太坊等區塊鏈網絡上為客戶交易債券:金色財經報道,據《華爾街日報》報道,雖然華爾街一些最大的銀行在很大程度上避免直接投資加密貨幣,但有些銀行正在將區塊鏈技術整合到自身交易和其他業務中,據悉高盛已經在以太坊等區塊鏈網絡上為客戶交易一些債券和其他一些債務證券。[2022/8/22 12:41:35]
e.TruffleTeam
還記得上面提到的用Truffle部署到主網的問題嗎?那么有一個解決方案,叫做TruffleTeams。它對開源項目是免費的,否則每個月會花費幾美元。但是,通過TruffleTeam你就可以得到一個項目儀表板。這是與Github的直接連接,并作為持續集成運行你的測試。任何成功的構建都可以從儀表板上部署。
這允許你為部署連接MetaMask,意味著完全控制交易成本并加速。
TruffleTeamsDeployments
TruffleTeams部署的完整文檔,請參閱這里。
4.部署后的考慮因素
在部署到主網之后,你應該在Etherscan和Sourcify上驗證合約的源代碼。這涉及到將Solidity代碼提交給這些服務,這些服務將對其進行編譯,并驗證它是否與部署的字節碼相匹配。驗證成功后,用戶可以在Etherscan上獲得更多的信息,可以直接在Etherscan上與之交互,或者在Remix等支持工具從Sourcify上獲取代碼。
你可以在Etherscan網站上手動驗證你的合約。另外,也推薦使用Truffle、Hardhat插件和直接使用EtherscanAPI自動驗證的插件。
七月以太坊全網持幣地址數達4514.63萬 環比增長4.96%:Tokenview區塊瀏覽器數據顯示,七月比特幣全網活躍地址數為2862.43萬,環比增長12.66%,新增地址數為1447.17萬,環比增長12.58%;同期以太坊全網活躍地址數為1765.04萬,環比增長9.72%,新增地址數為457.61萬,環比增長13.28%。
與此同時,截至七月三十一日,以太坊持幣地址數已達到4514.63萬,環比增長4.96%,而同期比特幣全網持幣地址為4405.18萬,環比增長1.21%。[2020/8/5]
關于如何使用Sourcify,請查看這篇博文。
本翻譯由CellNetwork贊助支持。
來源:https://soliditydeveloper.com/deployments
參考資料
登鏈翻譯計劃:https://github.com/lbc-team/Pioneer
Tiny熊:https://learnblockchain.cn/people/15
函數選擇器:https://learnblockchain.cn/docs/solidity/abi-spec.html#function-selector
最佳實踐:https://consensys.github.io/smart-contract-best-practices/
中譯文:https://learnblockchain.cn/article/1890
以太坊開發人員決定推遲柏林硬分叉:金色財經報道,許多用戶仍依賴于以太坊客戶端Geth,因此如果出現漏洞,則可能會使網絡暫時凍結。有鑒于此,以太坊核心開發者上周五決定將柏林(Berlin)硬分叉的開發工作至少推遲到八月,以使其他客戶端有機會增加其網絡份額。根據Ether Nodes的說法,Geth只是11個客戶端規范的其中之一,但是有79%的以太坊節點在Geth上面運行。自12月以來,該百分比上升了5%。[2020/7/1]
訪問控制:https://docs.openzeppelin.com/contracts/4.x/access-control
GnosisSafe:https://gnosis-safe.io/
編譯:https://ethereum.org/en/developers/docs/smart-contracts/compiling/
Infura:http://infura.io/
QuikNode:https://www.quiknode.io/
Alchemy:https://alchemy.com/?r=7d60e34c-b30a-4ffa-89d4-3c4efea4e14b
運行你自己的節點:https://ethereum.org/en/developers/docs/nodes-and-clients/run-a-node/
遷移功能:https://learnblockchain.cn/docs/truffle/getting-started/running-migrations.html
truffle配置:https://learnblockchain.cn/docs/truffle/reference/configuration.html
hdwallet-provider:https://github.com/trufflesuite/truffle/tree/master/packages/hdwallet-provider#readme
Trezor:https://github.com/daonomic/trezor-web3-provider
Ledger:https://github.com/petertulala/truffle-ledger-provider
這里:https://learnblockchain.cn/docs/truffle/getting-started/running-migrations.html
設置一個Gas價格:https://learnblockchain.cn/docs/truffle/reference/configuration.html#networks
truffle-flattener:https://github.com/nomiclabs/truffle-flattener
內置扁平化命令:https://hardhat.org/getting-started/#running-tasks
加速或取消:https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-Speed-Up-or-Cancel-a-Pending-Transaction
solidity-template:https://github.com/paulrberg/solidity-template
hardhat-deploy:https://github.com/wighawag/hardhat-deploy#deploy-scripts
myContract.deploy():https://learnblockchain.cn/docs/web3.js/web3-eth-contract.html#deploy
TruffleTeams:https://www.trufflesuite.com/teams
花費幾美元:https://www.trufflesuite.com/teams#pricing
這里:https://www.trufflesuite.com/docs/teams/deployments/creating-a-deployment
Etherscan:https://etherscan.io/verifyContract
Truffle:https://github.com/rkalis/truffle-plugin-verify
Hardhat:https://www.npmjs.com/package/@nomiclabs/hardhat-etherscan
EtherscanAPI:https://etherscan.io/apis#contracts
這篇博文:https://soliditydeveloper.com/decentralized-etherscan
CellNetwork:https://www.cellnetwork.io/?utm_souce=learnblockchain
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
本文來源于非小號媒體平臺:
登鏈社區
現已在非小號資訊平臺發布105篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9921987.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
Bitfinex一周簡報
隨著科技的進步,商業模式的改變,數據變現的途徑成幾何式地飛躍,這也讓數據成為了21世紀最大的市場.
1900/1/1 0:00:00幣圈院士投資幣圈十余載,你的眼里是百倍杠桿的利潤,而我考慮的是萬丈深淵的風險,思路決定出路,看待行情不同的角度決定了你會為了利潤鋌而走險,而我會為了避開風險而放過一單的利潤.
1900/1/1 0:00:00尊敬的虎符用戶: SLP將部署新合約,為了配合項目方做好換幣的相關準備工作,虎符現已暫停SLP充提。待升級完成后我們將第一時間恢復,具體時間請留意虎符的最新公告.
1900/1/1 0:00:00一般信息 Burnthestate是被稱為Ash的收益挖礦生態系統。Burnthestate由開發人員或開發團隊以“比爾·德拉蒙德”的化名創建.
1900/1/1 0:00:00陸百川5.3比特幣午盤策略內參別人看到的是鞋,自己感受到的是腳,切莫貪圖鞋的華貴,而委屈自己的腳.
1900/1/1 0:00:00尊敬的CoinW用戶: 為慶祝XCH/USDT正式上線CoinW,CoinW將開啟“交易XCH領取百塊機械硬盤”活動.
1900/1/1 0:00:00