宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > DAI > 正文

为 Optimism Rollup Dapp 准备的脚手架

作者:

时间:1900/1/1 0:00:00

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

Optimism的OptimisticRollup主网发布在即!我们在热切的期待中,因此我们为Optimisim的早期参与者准备了一个scaffold-eth的专门分支,脚手架包含以下内容:

运行本地链(L1)与OptimisticRollup(L2)。

L1和L2交互

在L1和L2之间移动ETH

在L2部署智能合约

创建自己的ERC20代币桥接!

这些工作仍在进行中:这是在一个全新的协议上的全新的构建方式,所以预计一切都会发展和变化:),欢迎反馈!

如果你想直奔主题,代码在这里6。

关于Optimism的Rollup是如何工作的,其他人已经写了更详细的。这篇文章的重点是我们可以在乐观的以太坊上做什么,如何运行和开发...

我们开始吧!

运行一个具有Rollup的本地链

你需要安装Docker!

在本地几条链,让他们互相交互,不是件容易的事。值得庆幸的是,Optimism团队提供了一个开箱即用的集成仓库,包含了运行所需的六个Docker容器。这是local-optimism分支的一部分,作为Git子模块提供。当你把repo拉下来的时候,你需要启动&更新子模块,然后就是一个命令就可以把整个东西创建起来。

cddocker/optimism-integration&&makeup

img启动并运行

有点像飞船起飞的感觉!

看日志可以很实际的感受到Optimism的工作原理--首先初始化一个L1链,并部署Optimism核心合约,然后初始化几个在L1和L2之间传递信息服务,最后启动L2geth实现。

以太坊核心开发者共识会议:将为 Deneb 升级纳入与测试 EIP-4788、EIP-6987:5月7日消息,Galaxy 研究副总裁 Christine Kim 发文总结第 108 次以太坊核心开发者共识会议。其中,开发者同意考虑将 EIP-4788、EIP-6987 纳入 Deneb 进行测试。EIP-4788 将启用执行层上的共识层状态证明,以通过智能合约进行无信任验证。此前 PR #3175 正处在格式化为 EIP 的过程中,将改为 EIP-6987,即出于安全考虑,防止罚没(slashed)验证节点被选为区块提议者。开发者讨论了在 Deneb 规范中引入一个额外的变量与常量,以允许执行层具有更大的弹性,以独立于共识层调整每个区块的最大 blob 交易数。以太坊核心开发者 Tim Beiko 提醒共识层客户端团队,通过 EIP-4844 引入的新 SSZ 类型应在多大程度上与即将到来的 SSZ 升级兼容或针对当前 RLP 标准进行优化,仍然不确定。Ryan 表示,目前在 EIP-4844 中使用「flat hash」的 SSZ 类型是两头吃亏的,因为它没有为 RLP 格式化,但也没有利用完整的 SSZ 序列化的优势。开发者将在下周的 ACDE 电话会议上继续讨论这一问题。此外,信标链证明子网(attnet)的改造已于 5 月 4 日推出。开发者还在信标链 API Github 存储库上讨论了 PR #317。

考虑到最近的 MEV-Boost 漏洞攻击,中继现在在通过 gossip 上广播前会验证区块内容。该功能需要 Lighthouse 与 Prysm 客户端的自定义分叉。Lighthouse 客户端开发者 Michael Sproul 提出了一个标准查询参数,用于在所有共识层客户端中启用相同的功能。Prysm 客户端开发者 Terence Tsao 表示,在某些方面引入次功能会增加对 MEV-Boost 的依赖性,MEV-Boost 是一种用于在以太坊上赚取 MEV 的临时软件,应该弃用它以支持 PBS。[2023/5/7 14:48:23]

如果一切顺利,我们就可以开始了!

Julian Sawyer 的推特和领英简介已更改为 Bitstamp 前 CEO:5月8日消息,Julian Sawyer 的推特和领英简介已更改为 Bitstamp 前首席执行官。Julian Sawyer 也是 Starling Bank 的联合创始人。Bitstamp 由 Nejc Kodri? 于 2011 年创立,2020 年 10 月份 Julian Sawyer 开始担任 Bitstamp CEO。[2022/5/8 2:58:29]

Rollup与本地链交互

Optimism实现的真正优势之一是与EVM的兼容性--在很多方面,它就像改变RPCURL和chainID一样简单。

l1Local:{rpc:"http://localhost:9545",chainId:31337}l2Local:{rpc:"http://localhost:9545",chainId:420}l2Kovan:{rpc:"https://kovan.optimism.io",chainId:69}

当然,也有一些需要考虑的差异,这里让我们边走边讲。

从用户和开发者的角度来看,需要考虑的主要问题之一是如何处理L1和L2网络,哪些要呈现给用户,以及如何确保钱包连接到正确的网络。

使用自定义网络API,可以很好的解决后一个问题(在这个分支中还没有实现--欢迎PR!)

在这个分支中,我们实例化了两个provider(提供者)和两个singer(签名者),因为我们要支持与本地链和Rollup的交互。

1_vF4ynkFGTcdgvDm77hEC3g一个钱包有两个余额!

在L1和L2之间转移ETH

本地Rollup和目前在Kovan上的部署不需要任何交易费用,但这将是主网的一个关键过渡。我们有一个简单的OptimisticETHBridge组件,它可以显示用户在L1和L2的余额,并允许他们存款到L2或从L2取款。

火币已开启第13期 FastTrack,投票上线项目为 DF、SAND:据官方消息,火币全球站已于9月9日开启“FastTrack(第13期)投票上币”,投票项目为 DF (dForce)、SAND (The Sandbox)。目前火币已开放两个项目的充币。

本期沿用上期规则,分为“充值投票”和“HT投票”两轮,两个项目共计释放50万USDT的等值代币奖励,投票结束后共将销毁约为15万USDT等值的HT。[2020/9/9]

1_iUEdefxX0UwlELeOwG4GdgL1/L2桥

存款是指在L1ETHGateway合约上调用_payable_deposit函数,存入你想存入的数量。该合约作为Optimism初始化的一部分进行部署,在本地设置上的部署地址总是相同的,但在Kovan上是不同的。

在Optimism上,没有原生的ETH,ETH只是一个ERC20的代币,提现是转入到ERC20合约中。

awaitl2Tx(L2ETHGatewayContract.withdraw(parseEther(values.amount.toString())))

该组件还为L1和L2内置了简单的Send功能。

Optimism团队短期内正在研究的难题:

目前L2还不支持用{value}发送的交易,所以我们实例化一个ethers.js合约,并调用transfer。

目前在L2上实现的geth版本并不像在L1上那样抛出transactionResponse,需要wait()等待transactionReceipt。在scaffold-eth中,这意味着要给我们的Transactorhelper增加一行。

result=awaitsigner.sendTransaction(tx);awaitresult.wait()

动态 | 李笑来重回币圈:邀请用户成为 b.watch 的第一批种子用户:有云币网用户,收到李笑来相关的邮件,内容显示,邀请用户成为 b.watch 的第一批种子用户。据了解b.watch是一个专业数字货币投资者的一站式投研社区。[2019/5/14]

在Optimism上进行部署合约。

Optimism的主要关注点之一是转移性,从EVM到OVM。因此,我们只需要做一些小的改动,就可以使我们的现有scaffold-eth上的合约在L2上可行--我们只需要在我们的hardhat配置中导入Optimism编译器17,然后使用Optimismethersvariant来部署我们的合约。

const{l2ethers}=require("hardhat");...contractArtifacts=awaitl2ethers.getContractFactory(contractName,signerProvider);constdeployed=awaitcontractArtifacts.deploy(...contractArgs,overrides);awaitdeployed.deployTransaction.wait()

请注意前面提到的wait()!

有一些细微的差别--我们不能使用内置的Hardhat网络,必须实例化我们自己的提供者和签名者。

我们不需要对合约做任何修改,尽管可能不一定是这样,例如对.balance的调用会在编译时抛出一个错误。一般来说,编译器的错误对追踪问题都很有帮助。

我们确实做了一些改动,在Optimism上出块时间block.timestamp确实存在,但却是对L1时间的引用。有两件动作会更新了L2上的时间:从L1到L2的桥接信息,以及按设定频率(心跳)定期更新L2时间。

1_dCfswNwv6CKF4PXboiR_Hg

动态 | 昨日ETH新韭菜占比为 35.66%:Searchain.io“新韭菜指数”:昨日ETH新韭菜占比为 35.66%,较前日有所下降,下降了11.36%,与上月同期相比下降了13.11%。[2018/12/5]

这确实给处理L2上的时间时产生了一些有趣的挑战,因为获取的block.timestamp总是过去的。以后还会有更多的思考...

在一个非常实际的问题上,这意味着在本地开发中,你需要定期在本地链上进行交易,以保持你的L2时间的更新!

在Optimism的桥接:古英语ERC20

虽然对于很多使用场景来说,使用他人部署的ETH桥和代币桥可以满足大部分L1到L2桥接的需求,但我们也想了解如何将自己的L1ERC20转移到L2,以及如何返回。

幸运的是,Optimism团队在他们合约包提供了一些参考合约,再加上有用的教程,所以我们能够把它们拉到我们的分支中,我们将部署三个合约:

ERC20.sol:在L1上,这是真理之源----一个简单的ERC20实现,有一个mint(value)函数,允许任何人自己铸造一些代币。

L1ERC20Gateway.sol:也是在L1上,这允许我们向L2存款,同时锁定代币。

L2DepositedERC20.sol:该合约部署在L2上,它也是一个ERC20的实现,当新的代币从L1存入时,它就将其铸成新的代币,当它们被提取时,就将其销毁。

部署顺序很重要,因为L1ERC20Gateway需要知道ERC20地址和L2DepositedERC20地址,然后需要通过init()与L1ERC20Gateway地址激活L2DepositedERC20合约,完成连接。我们部署的合约分别与L1Messenger和L2Messenger进行通信,以进行存款和提款。

部署完成后,我们就可以测试桥接功能了,可以在前端应用中测试,也可以在直接在部署脚本中测试。

l2l1桥接测试

L1ERC20Gateway必须经过批准才能转移代币,才能启动整个事情。

目前有在进行一个想法,希望有一个通用的用于ERC20代币的桥接,这样的桥接在生产中可能不需要,但它仍然是一个有益的概念验证,以方便本地开发。

下一步

显然,下一步的关键是上测试网local-optimism分支包含了去Kovan部署Optimism的配置选项,就像更新App.js中的selectedNetwork,以及从Hardhat部署时的defaultNetwork或--network参数一样简单。

但更大的问题是,在Optimism上构建什么!

我们将在未来几周内发布更多的试运行、概念验证,甚至可能是成熟的产品。欢迎关注。

如果你还没有-获取分支,那就赶快尝试一下吧。

非常感谢来自Optimism的Ben和Kevin的有益回答,以及__AustinGriffith的帮助、努力和支持!

本翻译由CellNetwork赞助支持。

来源:https://azfuller20.medium.com/optimism-scaffold-eth-draft-b76d3e6849e8

参考资料

登链翻译计划:https://github.com/lbc-team/Pioneer

翻译小组:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

Optimism的OptimisticRollup:https://optimism.io/

scaffold-eth:https://github.com/austintgriffith/scaffold-eth/tree/local-optimism

代码在这里:https://github.com/austintgriffith/scaffold-eth/tree/local-optimism

Optimism的Rollup是如何工作的:https://research.paradigm.xyz/optimism

Docker:https://www.docker.com/products/docker-desktop

开箱即用的集成仓库:https://github.com/ethereum-optimism/optimism-integration

Git子模块:https://git-scm.com/book/en/v2/Git-Tools-Submodules

Optimism核心合约:https://community.optimism.io/docs/protocol/protocol.html#system-overview

一些需要考虑的差异:https://community.optimism.io/docs/protocol/evm-comparison.html#behavioral-differences

自定义网络API:https://learnblockchain.cn/article/2223

provider(提供者):https://docs.ethers.io/v5/api/providers/

singer(签名者):https://docs.ethers.io/v5/api/signer/

预部署地址:https://community.optimism.io/docs/protocol/protocol.html#predeployed-contracts

Optimism编译器:https://hardhat.org/plugins/eth-optimism-plugins-hardhat-compiler.html

Optimismethersvariant:https://hardhat.org/plugins/eth-optimism-plugins-hardhat-ethers.html

合约包:https://www.npmjs.com/package/@eth-optimism/contracts

有用的教程:https://github.com/ethereum-optimism/optimism-tutorial/tree/deposit-withdrawal

部署脚本:https://github.com/austintgriffith/scaffold-eth/blob/local-optimism/packages/hardhat/scripts/oe-deploy.js

通用的用于ERC20代币的桥接:https://github.com/ethereum-optimism/contracts/pull/257

获取分支:https://github.com/austintgriffith/scaffold-eth/tree/local-optimism

AustinGriffith:https://twitter.com/austingriffith

CellNetwork:https://www.cellnetwork.io/?utm_souce=learnblockchain

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9788536.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

盘点零知识证明代表性项目:如何影响和塑造区块链生态系统?

标签:TIMMISOPTTIMIOptimism DogeMissionAirdropTokentimi币官方网站

DAI热门资讯
币安合约本周新上线公告(2021-03-22)

亲爱的用户:币安将于香港时间2021年03月22日15:00上线STMXUSDT1-25倍U本位永续合约,并于香港时间2021年03月26日16:00.

1900/1/1 0:00:00
关于WBF即将上线CCC的公告

WBF即将在开放区上线CCC/USDT交易对,具体上线时间请关注官方公告。 项目介绍: 消费资本链ConsumptionCapitalChain秉承消费资本论的理念,CCC将逐步对接一切消费积分,建立一个消费积分交易和变现通道,促进消.

1900/1/1 0:00:00
3.20晚间行情:ZEN 1INCH 叕涨了 当前盘面如何操作

文章系金色财经专栏作者币圈北冥供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别防上当.

1900/1/1 0:00:00
谈喻凯:鲍威尔讲话引发破位 比特币以太坊双双下破操作建议

周初说好的出现单边性的行情比较大,事实的结果再度证明了谈老师的判断,但这次是向下突破,其实也在预料之中的,毕竟比特币几度冲击60000美元关口承压,在隔日的文章之中也说到呈现“背离”形态.

1900/1/1 0:00:00
比特币在6万美元关口遇到伏击,日内出现回调局面

昨天到今天零时比特币拉高至6万美元之后就开始出现了回落局面,从复盘的数据来看,有主力大户在6万附近的时候出现了大量出货与做空的局面,所以在比特币6万附近就开始快速砸盘回落的局面,今天比特币回调了一天.

1900/1/1 0:00:00
Coinlist背后的男人Naval Ravikant的“天使”之路

2017年,IXO“野蛮生长”之时,加密资产融资平台Coinlist应运而生。合规或者说正规,是让它快速在市场中站稳脚跟的“取胜之匙”,Coinlist在帮助项目融资时,会对项目进行完备的尽调,内容涵盖团队、产品、市场、交易条件、法律.

1900/1/1 0:00:00