译文出自:登链翻译计划
译者:Tiny熊
部署到以太坊主网你需要知道的一切
我们都喜欢以太坊,所以你已经创建了一些出色的智能合约。它们通过单元测试和测试网进行了密集的测试。现在终于到了上主网的时候了。但这是一个棘手的事情...
1.究竟什么是部署交易?
首先让我们从低层次快速讨论一下什么是合约部署。任何以太坊交易本身只由几个属性组成,一般有三种交易类型:
发送以太币
部署智能合约
调用智能合约
这所有三个交易的某些部分对总是相同的:from,value,gas,gasPrice和nonce。它们之间的区别来自于to和data参数,这两个参数代表了交易被发送到哪里,以及与之一起发送的数据是什么。
发出以太币交易to:ETH的接收地址
data:空(这里不涉及智能合约)
部署智能合约
to:空
data:智能合约的字节码。
与智能合约的交互
to:智能合约地址
data:函数选择器及函数参数数据
2.部署前的考虑因素
你肯定明白智能合约的安全是极其重要的。虽然从一开始就应该遵循最佳实践-,但在部署到主网之前进行审计是最后也是关键的一步。你可以使用https://www
);};
数据:以太坊稳定币总市值从1000亿降至760亿:金色财经报道,据21Shares母公司21co链上分析师Tom Wan披露数据显示,以太坊稳定币总市值从1000亿降至760亿,下降主要是由于USDC和BUSD造成,USDC市值从410亿下降到了240亿(-40%),BUSD从160亿下降到了30亿(-77%)。USDC成为最大受益者,主导地位从32.3%提升至51.5%,TUSD和DAI市场份额小幅增长0.5%,GHO目前价格为0.982美元,脱钩1.8%,GHO由AAVE于7月15日推出。解除挂钩的潜在原因可能是由于1%到1.5%的固定借款利率。这可能会导致借款人用它来抛售高收益稳定币,从而造成巨大的抛售压力。[2023/7/29 16:05:33]
这里你可以看到一个典型的迁移脚本,它利用了async/await语法。在部署之后,我们将所有权转移到一个已经部署好的multisig合约上。
将Truffle用于主网的弊端
部署备忘录
值得一提的是,由于几个原因,Truffle本身远不是部署到主网的最佳选择。
部署的特殊迁移合约增加了Gas成本。尽管可以删除它。
在主网上,Truffle中的长时间迁移是非常非常痛苦的。
Gas交易成本使主网的部署变得非常困难,你可以在Truffle配置中设置一个Gas价格,但在整个迁移期间都将使用这一个Gas价格。因此,如果Gas价格在你的部署期间大量增加,什么时候被矿工纳入区块,就只能祝你好运。如果一个交易在几分钟内没有被打包,Truffle将直接停止你的部署。你唯一的选择是设置一个非常高的Gas价格,并希望一切都能快速部署。
微软与前以太坊矿企CoreWeave签署价值数十亿美元的人工智能算力协议:6月2日消息,据 CNBC 援引知情人士报道,微软已与前以太坊矿企 CoreWeave 签署人工智能算力协议,价值可能 (至少) 数十亿美元。微软和 CoreWeave 都拒绝置评。总部位于纽约 CoreWeave 专门提供基于图形处理器(GPU)的云计算服务,已成为 OpenAI 的 ChatGPT 等人工智能(AI)服务的核心。
此前报道,CoreWeave 于 4 月 22 日宣布以 20 亿美元估值完成 2.21 亿美元 B 轮融资,Magnetar Capital 领投,英伟达、GitHub 前首席执行官 Nat Friedman 和苹果前高管 Daniel Gross 参投。[2023/6/2 11:53:54]
你的网络连接可能会导致问题,你最好不要在长时间的部署中失去连接,否则就准备从头再来。
至少,Truffle现在在实际部署前会进行运行模拟部署。你可以用--skip-dry-run跳过测试网的模拟,但不要在主网上这样做。这将确保你至少不会在中间环节出现错误,而不得不从头开始重新启动。
总而言之,如果你有钱支付使用Truffle所增加的费用,就去使用它吧。否则,请继续阅读替代方案。
b
main()
);
该脚本可以用以下方式调用。
$npxhardhatrunscripts/deploy.ts
另外,你可以使用hardhat-deploy插件,它增加了完成部署后保存在文件的能力。
一沉睡三年的以太坊ICO投资者近两日向Kraken转入2400枚以太坊:1月14日消息,据Lookonchain监测,一沉睡三年的以太坊ICO投资者地址(0x0CFb172335b16c87D519cD1475530D20577f5E0E),近两日向Kraken转入2400枚以太坊。该地址于2015年7月30日收到了10万枚以太坊。[2023/1/15 11:12:30]
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'}
e.TruffleTeam
还记得上面提到的用Truffle部署到主网的问题吗?那么有一个解决方案,叫做TruffleTeams。它对开源项目是免费的,否则每个月会花费几美元。但是,通过TruffleTeam你就可以得到一个项目仪表板。这是与Github的直接连接,并作为持续集成运行你的测试。任何成功的构建都可以从仪表板上部署。
数据:以太坊上DeFi协议总锁仓量614.5亿美元:据欧科云链OKLink数据显示,截至今日16时,以太坊上DeFi协议总锁仓量约合614.5亿美元,环比上升4.45%。
近24小时锁仓量增幅前三名的DeFi协议分别是1inch(+28.17%),Kyber(+27.69%)以及Hegic(+15.07%)。
当前锁仓量排名前三的DeFi协议分别是WBTC 79.7亿美元(+4.31%),Maker 71.3亿美元(+3.1%)以及Compound 66.6亿美元(+2.45%)。[2021/3/18 18:56:59]
这允许你为部署连接MetaMask,意味着完全控制交易成本并加速。
TruffleTeamsDeployments
TruffleTeams部署的完整文档,请参阅这里。
4.部署后的考虑因素
在部署到主网之后,你应该在Etherscan和Sourcify上验证合约的源代码。这涉及到将Solidity代码提交给这些服务,这些服务将对其进行编译,并验证它是否与部署的字节码相匹配。验证成功后,用户可以在Etherscan上获得更多的信息,可以直接在Etherscan上与之交互,或者在Remix等支持工具从Sourcify上获取代码。
你可以在Etherscan网站上手动验证你的合约。另外,也推荐使用Truffle、Hardhat插件和直接使用EtherscanAPI自动验证的插件。
关于如何使用Sourcify,请查看这篇博文。
GBV收购以太坊二层扩容方案OMG Network:Genesis Block Ventures(GBV)宣布收购以太坊第二层扩容方案OMG Network(OMG)。GBV表示,通过此次收购,将会发挥其覆盖亚洲的生态体系及社群网络,推动OMG网络加速增长、协助建立有价值的合作伙伴关系,并进一步提升OMG区块链在亚洲区内普及和应用。OMG Network(前身为OmiseGo)于2017年成立,是SYNQA的子公司,旨在开拓第二层基础设施的开发以支持以太坊区块链生态系统。[2020/12/4 23:05:39]
本翻译由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
访问控制: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一周简报
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。