比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > OKB > Info

TIM:為 Optimism Rollup Dapp 準備的腳手架

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 多空借幣比為 8.2:1:MXC 抹茶杠桿交易大數據顯示,截至 7月18日 10:00,BTC 多空借幣比為8.2:1。今日多空借幣比排名前 10 的幣種及其多空借幣比:BNB為3554:1、MX為1840.2:1、TOMO為1026.4:1、NKN為706:1、NEO為521.1:1、OCEAN為348:1、IOTX為326.3:1、KAVA為188.1:1、REV為187.2:1、FSN為113:1。其中,NKN借幣做多量較昨日暴漲898.8%;IOTX借幣做多量較昨日增長155.1%。[2020/7/18]

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

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

動態 | Cosmos Hub 測試網 Gaia-13004 上線運行 為 Cosmos SDK v0.36.0 新版本升級做準備:Tendermint 產品經理 Jack Zampolin 在推特上表示,Cosmos Hub 測試網 Gaia-13003 已經成功升級為 Gaia-13004,目前已經上線并穩定出塊,為 Cosmos SDK v0.36.0 新版本升級做準備。升級提案邀請 Cosmos 所有驗證人、開發者提出建議和反饋。根據驗證人 FigmentNetwork 發布的 Gaia-13004 測試網區塊瀏覽器,目前已經有包含 FigmentNetwork、IRISnet-Bianjie 等 31 個驗證人參與測試運行。Gaia 軟件是 Cosmos 測試網系列名稱,出自于古希臘神話的生命之母「 Gaia 大地女神」之名,旨在讓驗證人及用戶「提前熟悉網絡升級的變化」,并允許 Cosmos Hub 在不影響用戶轉賬等功能的情況下無縫銜接至新的升級版本。[2019/7/26]

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

行情 | 昨日ETH新韭菜占比為 43.25%:Searchain.io“新韭菜指數”:昨日ETH新韭菜占比為 43.25%,較前日有所增長,增長了9.08%,與上月同期相比上漲了5.90%。[2018/12/17]

該組件還為L1和L2內置了簡單的Send功能。

Optimism團隊短期內正在研究的難題:

目前L2還不支持用{value}發送的交易,所以我們實例化一個ethers.js合約,并調用transfer。

目前在L2上實現的geth版本并不像在L1上那樣拋出transactionResponse,需要wait()等待transactionReceipt。在scaffold-eth中,這意味著要給我們的Transactorhelper增加一行。

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

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

動態 | 昨日ETH新韭菜占比為 39.34%:Searchain.io“新韭菜指數”:昨日ETH新韭菜占比為 39.34%,較前日有所下降,下降了8.47%,與上月同期相比下降了0.91%。[2018/11/19]

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

有一些細微的差別--我們不能使用內置的Hardhat網絡,必須實例化我們自己的提供者和簽名者。

我們不需要對合約做任何修改,盡管可能不一定是這樣,例如對.balance的調用會在編譯時拋出一個錯誤。一般來說,編譯器的錯誤對追蹤問題都很有幫助。

我們確實做了一些改動,在Optimism上出塊時間block.timestamp確實存在,但卻是對L1時間的引用。有兩件動作會更新了L2上的時間:從L1到L2的橋接信息,以及按設定頻率(心跳)定期更新L2時間。

1_dCfswNwv6CKF4PXboiR_Hg

這確實給處理L2上的時間時產生了一些有趣的挑戰,因為獲取的block.timestamp總是過去的。以后還會有更多的思考...

在一個非常實際的問題上,這意味著在本地開發中,你需要定期在本地鏈上進行交易,以保持你的L2時間的更新!

在Optimism的橋接:古英語ERC20

雖然對于很多使用場景來說,使用他人部署的ETH橋和代幣橋可以滿足大部分L1到L2橋接的需求,但我們也想了解如何將自己的L1ERC20轉移到L2,以及如何返回。

幸運的是,Optimism團隊在他們合約包提供了一些參考合約,再加上有用的教程,所以我們能夠把它們拉到我們的分支中,我們將部署三個合約:

ERC20.sol:在L1上,這是真理之源----一個簡單的ERC20實現,有一個mint(value)函數,允許任何人自己鑄造一些代幣。

貝萊德新興市場首席投資總監認為 比特幣估值為“泡沫”估值:貝萊德新興市場首席投資總監貝琳達稱,目前貝萊德正在觀望比特幣,相信當前市場對比特幣的估值是極端的,可以說是“泡沫式”的估值。今年比特幣上漲了1600%,在昨日比特幣期貨推出后,比特幣價格突破17000美元/枚。鑒于當前比特幣價格增速強勁,特別是在比特幣期貨推出后,預計其波幅及潛在波幅也將更大。[2017/12/12]

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

上一篇:

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

Tags:TIMIMIOPTOPTIOPTIMUSAIDolaimi SocialOptimusoptimus幣總量

OKB
加密貨幣:報告:英國取消了對超過35,000英鎊的汽車的電動汽車補貼

英國政府即將對消費者造成打擊,并意外更改其插電式汽車補助金的規則。這些變化將使許多受歡迎的電動汽車比以前更難獲得,尤其是那些在價格較高的市場上的電動汽車.

1900/1/1 0:00:00
DBL:312已過,DeFi近期有什么值得關注的

312已過,DeFi近期有什么值得關注的2021年的312安然無恙的過去了,比特幣也漲到了6萬刀的高度,DeFi依舊是區塊鏈最熱門的領域.

1900/1/1 0:00:00
LDO:熊江流:比特幣短線下跌空頭看向55600

比特幣行情分析: 今天才是周日,比特幣連收兩根十字星線,日線連續3次反彈沖擊60000失敗,說明上方的壓力強大,漲不動就該跌了。日線有下跌需求,下方關注54500支撐.

1900/1/1 0:00:00
比特幣:金色早報 | 美國銀行:DeFi可能比比特幣更具顛覆性

頭條 ▌美國銀行:DeFi可能比比特幣更具顛覆性金色財經報道,美國銀行認為去中心化金融可能比比特幣更具顛覆性.

1900/1/1 0:00:00
GATE:Gate.io上線XYM超級福利:XYM鎖倉賺幣,年化幣收益100%

Gate.io已于2021年3月17日21:00上線Symbol(XYM)交易,我們將開啟XYM超級福利.

1900/1/1 0:00:00
關于支持DREP (DREP)100:1 代幣縮量的公告

親愛的用戶:幣安將支持DREP100:1代幣縮量計劃,具體安排如下:幣安將于2021年03月22日上午08:00暫停DREP充值、提現業務;幣安將于2021年03月22日中午12:00停止交易并.

1900/1/1 0:00:00
ads