比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > SHIB > Info

為 Optimism Rollup Dapp 準備的腳手架_OPT

Author:

Time: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實現。

MXC 抹茶杠桿交易大數據:BTC 多空借幣比為 30.7:1:MXC 抹茶杠桿交易大數據顯示,截至 7 月 11 日 10:00,BTC 多空借幣比為30.7:1。

今日多空借幣比排名前 10 的幣種及其多空借幣比:BNB為8324.2:1、NEO為5161:1、NKN為2082.5:1、MX為1798.8:1、TOMO為732.9:1、BSV為637.1:1、IOTX為213.9:1、LALB為170:1、BCH為 132.5:1、KAVA為115.1:1。FSN、TOMO、BTC、XTZ借幣做多量較昨日暴漲4733.3%、2950%、1361%、1014.8%。[2020/7/11]

如果一切順利,我們就可以開始了!

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一個錢包有兩個余額!

動態 | 比特幣挖礦難度降 15% 為 2011 年底以來最大降幅:比特幣挖礦難度下降了 15%,為 2011 年底以來最大降幅。不過,目前比特幣挖礦難度依然與今年 7 月份的水平持平。[2018/12/5]

在L1和L2之間轉移ETH

本地Rollup和目前在Kovan上的部署不需要任何交易費用,但這將是主網的一個關鍵過渡。我們有一個簡單的OptimisticETHBridge組件,它可以顯示用戶在L1和L2的余額,并允許他們存款到L2或從L2取款。

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()

動態 | 昨日ETH新韭菜占比為 41.16%:Searchain.io“新韭菜指數”:昨日ETH新韭菜占比為 41.16%,較前日有所增長,增長了6.52%,與上月同期相比上漲了13.45%。[2018/11/23]

在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新韭菜占比為 37.32%:Searchain.io“新韭菜指數”:昨日ETH新韭菜占比為 37.32%,較前日有所下降,下降了5.13%,與上月同期相比下降了4.04%。[2018/11/20]

這確實給處理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進行通信,以進行存款和提款。

部署完成后,我們就可以測試橋接功能了,可以在前端應用中測試,也可以在直接在部署腳本中測試。

Dash負責人認為 區塊鏈共識問題時導致分叉幣頻出的原因:Dash負責人在今晚參與火幣直播時表示:“加密貨幣的底層技術是區塊鏈,其核心是共識機制。如今,比特幣經常被分叉,表面上是幣多,但實質是區塊鏈共識出了問題。”[2017/12/19]

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.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

盤點零知識證明代表性項目:如何影響和塑造區塊鏈生態系統?

Tags:TIMMISOPTTIMIJMTimesashimiswapoptimus幣總量Optimism

SHIB
霍比特關于上線KNC等10個3倍多空杠桿ETF交易對的公告_HBT

尊敬的社區用戶: 為滿足廣大用戶交易需求,在新杠桿ETF產品基礎上,霍比特交易所將于2021年3月20日12:00在杠桿ETF交易區上線新的杠桿ETF產品:KNC3L/USDTKNC3S/USD.

1900/1/1 0:00:00
虎符將于3月21日19:00正式上線TARA(Taraxa),10,000 USDT等你來領

尊敬的虎符用戶, 虎符將于2021年03月21日19:00(UTC8)重磅上線TARA/USDT交易對。充值已開啟,提現將于2021年03月22日10:00(UTC8)開啟.

1900/1/1 0:00:00
一文讀懂新型算法穩定幣三杰Fei、Float、Reflexer_FEI

穩定幣作為DeFi的底層資產,市值已經超過500億美元,且仍在高速增長。作為穩定幣的一個分支,算法穩定幣被人們寄希望于解決法幣抵押型穩定幣中心化的問題,以及抵押型穩定幣資金利用率低的問題.

1900/1/1 0:00:00
Gate.io 上線 Livepeer(LPT) 杠桿交易和幣幣理財服務_Gate.io

Gate.io一直秉承真實,透明的理念,不造假數據,不干預市場交易,為用戶提供真實自由的市場工具和穩定健康的市場服務。杠桿交易提供做多和做空機制,可以有效穩定市場到合理價值.

1900/1/1 0:00:00
關于KNC、AXS、CTK U本位永續合約最小價格精度調整公告_USD

親愛的用戶:為提升市場的有效流動性和交易體驗,幣安將于2021年03月22日12:00調整KNCUSDT、AXSUSDT、CTKUSDTU本位永續合約交易對的最小價格精度.

1900/1/1 0:00:00
庫幣杠桿平臺新增MANA,ENJ和FTM交易對,享0息券福利!_USDT

親愛的庫幣用戶, 為豐富杠桿交易區交易種類,庫幣杠桿平臺已上線MANA、ENJ和FTM資產與交易對.

1900/1/1 0:00:00
ads