TPS:以太坊主网部署终极指南

译文出自:登链翻译计划

译者:Tiny熊

部署到以太坊主网你需要知道的一切

我们都喜欢以太坊,所以你已经创建了一些出色的智能合约。它们通过单元测试和测试网进行了密集的测试。现在终于到了上主网的时候了。但这是一个棘手的事情...

1.究竟什么是部署交易?

首先让我们从低层次快速讨论一下什么是合约部署。任何以太坊交易本身只由几个属性组成,一般有三种交易类型:

发送以太币

部署智能合约

调用智能合约

这所有三个交易的某些部分对总是相同的:from,value,gas,gasPrice和nonce。它们之间的区别来自于to和data参数,这两个参数代表了交易被发送到哪里,以及与之一起发送的数据是什么。

发出以太币交易to:ETH的接收地址

data:空(这里不涉及智能合约)

部署智能合约

to:空

data:智能合约的字节码。

与智能合约的交互

to:智能合约地址

data:函数选择器及函数参数数据

2.部署前的考虑因素

你肯定明白智能合约的安全是极其重要的。虽然从一开始就应该遵循最佳实践-,但在部署到主网之前进行审计是最后也是关键的一步。你可以使用https://www

);};

V神:可拓展性是合并后重点,以太坊生态处理交易的能力或将增长1000倍:9月29日消息,以太坊创始人Vitalik Buterin在Converge22会议上与Circle首席执行官Jeremy Allaire交谈时表示,以太坊合并后面临的重大挑战是可拓展性,因为可拓展性是阻碍许多加密应用程序走向主流的核心问题。

V神希望通过提高可拓展性,使用户更倾向于直接与以太坊上的DEX交互,而非选择通过Binance等CEX来降低成本。他还补充表示:提升可拓展性并利用好Layer 2,以太坊生态系统容纳和处理交易的能力或将增长100到1000倍,这不容小觑。[2022/9/29 6:01:43]

这里你可以看到一个典型的迁移脚本,它利用了async/await语法。在部署之后,我们将所有权转移到一个已经部署好的multisig合约上。

将Truffle用于主网的弊端

部署备忘录

值得一提的是,由于几个原因,Truffle本身远不是部署到主网的最佳选择。

部署的特殊迁移合约增加了Gas成本。尽管可以删除它。

在主网上,Truffle中的长时间迁移是非常非常痛苦的。

Gas交易成本使主网的部署变得非常困难,你可以在Truffle配置中设置一个Gas价格,但在整个迁移期间都将使用这一个Gas价格。因此,如果Gas价格在你的部署期间大量增加,什么时候被矿工纳入区块,就只能祝你好运。如果一个交易在几分钟内没有被打包,Truffle将直接停止你的部署。你唯一的选择是设置一个非常高的Gas价格,并希望一切都能快速部署。

MyEtherWallet将允许用户标记以太坊的重要里程碑以铸造NFT:金色财经报道,以太坊钱包MyEtherWallet(MEW)今天宣布推出新功能ETH Blocks,允许其用户直接在应用程序中创建NFT。MyEtherWallet表示,用户将能够从以太坊铸造具有历史或个人意义的交易块。MEW创始人兼首席执行官Kosala Hemachandra表示,对以太坊具有历史重要性的13个区块,包括2013年的白皮书发布、2014年的第一次以太坊销售以及2016年的DAO分叉都已经被铸造出来并且将在12月11日拍卖,拍卖所得将捐给非营利组织。[2021/11/12 6:47:49]

你的网络连接可能会导致问题,你最好不要在长时间的部署中失去连接,否则就准备从头再来。

至少,Truffle现在在实际部署前会进行运行模拟部署。你可以用--skip-dry-run跳过测试网的模拟,但不要在主网上这样做。这将确保你至少不会在中间环节出现错误,而不得不从头开始重新启动。

总而言之,如果你有钱支付使用Truffle所增加的费用,就去使用它吧。否则,请继续阅读替代方案。

b

main()

);

该脚本可以用以下方式调用。

$npxhardhatrunscripts/deploy.ts

另外,你可以使用hardhat-deploy插件,它增加了完成部署后保存在文件的能力。

d.Web3

“以太坊”谷歌搜索量达到2018年2月以来最高水平:The Block发文称,包含“以太坊”一词的谷歌搜索数量已达到2018年2月以来的最高水平。The Block将以太坊搜索量水平设置为0至100,100为给定时间段内的最大值。 在2017年12月10日,该水平达到了100。在2018年初,该水平仍然很高,经常突破40和50。过去一周,该水平达到了33,是自2018年2月4日当周达到45以来的最大搜索量。[2020/11/26 22:08:35]

当然,你总是可以直接使用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的直接连接,并作为持续集成运行你的测试。任何成功的构建都可以从仪表板上部署。

BitMEX Research:交易所运行自己的以太坊节点,但无法与Infura等第三方协调则会暂停服务:推特网友Mr Cat刚刚向赵长鹏提问称,你不是在运行自己的ETH节点吗?赵长鹏回复道,是的,但不确定这是否会成为孤链。BitMEX Research对此回复称,交易所可能确实运行自己的以太坊节点,但如果本地链无法与Infura等第三方提供商协调,则会暂停一些服务,等待调查。

今日早前消息,Infura以太坊API服务中断,多家加交易所及钱包服务疑似受到影响。[2020/11/11 12:19:40]

这允许你为部署连接MetaMask,意味着完全控制交易成本并加速。

TruffleTeamsDeployments

TruffleTeams部署的完整文档,请参阅这里。

4.部署后的考虑因素

在部署到主网之后,你应该在Etherscan和Sourcify上验证合约的源代码。这涉及到将Solidity代码提交给这些服务,这些服务将对其进行编译,并验证它是否与部署的字节码相匹配。验证成功后,用户可以在Etherscan上获得更多的信息,可以直接在Etherscan上与之交互,或者在Remix等支持工具从Sourcify上获取代码。

你可以在Etherscan网站上手动验证你的合约。另外,也推荐使用Truffle、Hardhat插件和直接使用EtherscanAPI自动验证的插件。

关于如何使用Sourcify,请查看这篇博文。

本翻译由CellNetwork赞助支持。

分析 | 以太坊交易量暴涨 ERC20对以太坊市值占比继续走低:据TokenGazer数据分析显示,截止5月17日0时,以太坊24H价格区间为$237.15—$273.87,交易量为$20,994,029,596,总市值为$29,057,206,602,以太坊总市值环比昨日增加了15.50%,可能受币安日前开放交易、市场热度以及以太坊对比特币汇率触及历史低点影响,以太坊交易量增加了80%。当下ERC20代币总市值环比昨日下跌2.02%,约为以太坊总市值的52.99%,较昨日减少了3.76%,自5月以来,ERC20市值总占比已经下跌了21.49%,呈现持续下跌趋势。目前,以太坊对比特币汇率为0.0321,仍在历史低点附近徘徊。另,ERC20代币中活跃地址数排名前五的代币依次为:USDC、DAI、ZRX、TUSD、NPXS,其中最高值为3927,最低值为1491。[2019/5/17]

来源: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一周简报

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

币赢交易所BMEX:关于网络波动的处理公告

尊敬的用户: 因三方网络波动,导致APP使用出现部分卡顿,我们已经在联系三方紧急处理。1、网络波动前开仓的受影响订单平台会妥善补偿。2、网络波动期间请勿开仓。3、请尝试使用网页端进行操作.

[0:0ms0-4:132ms