以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 狗狗幣 > 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實現。

Applied Blockchain 宣布計劃更名為 Applied Digital:金色財經報道,Applied Blockchain計劃將其名稱從Applied Blockchain更改為Applied Blockchain。公司擬改名將更準確地反映其服務和更廣泛的業務產品,以服務于需要大型計算能力應用程序的客戶。雖然Applied Blockchain仍然是許多加密貨幣挖掘業務的數字基礎設施的主要供應商,但對于公司來說,重要的是要區分其下一代數據中心支持許多其他高性能計算 (HPC) 應用程序。該計劃將于 2022 年 11 月 10 日舉行的公司年度股東大會上提交股東批準,更名不會對戰略或運營產生影響,股票代碼“APLD”將保持不變。

此前報道,加密礦企Applied Blockchain獲得1500萬美元信貸額度,將用于償還債務及建設數據中心。[2022/8/25 12:48:42]

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

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

本周波卡解除質押的DOT總量為 243.51 萬枚:據 KingData 數據監控,本周(02月28日-03月06日)波卡解除質押的DOT總量為 243.51 萬枚,解鎖峰值在03月06日,解鎖 136.79 萬枚DOT。[2022/2/28 10:20:00]

在這個分支中,我們實例化了兩個provider(提供者)和兩個singer(簽名者),因為我們要支持與本地鏈和Rollup的交互。

1_vF4ynkFGTcdgvDm77hEC3g一個錢包有兩個余額!

在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增加一行。

動態 | Synthetix 過渡為 DAO 治理的首個里程碑已實現:基于以太坊的合成資產發行平臺 Synthetix 宣布成立由 5 位成員組成的去中心化自治組織 GrantsDAO,并開始接受項目提案。GrantsDAO 將負責審核為 Synthetix 生態貢獻的項目提案,通過后以 SNX 代幣資助,所有提案將會公開在網站中。Synthetix 在去年底宣布將項目從基金會治理模式過渡至 DAO 治理模式,將在其法律商業結構、協議治理、產品優化等三方面開啟過渡,最終實現建立去中心化的 SynthextixDAO,而 GrantsDAO 就是該計劃的首個階段。[2020/2/6]

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

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

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

動態 | 警惕以“區塊鏈”名義實施非法集資行為 長沙市天心區端掉一窩點:據湖南日報消息,長沙市天心區端掉一個打著“區塊鏈”旗號從事虛擬貨幣宣傳的非法集資窩點,以“Plus Token區塊鏈錢包”為噱頭開展宣講活動,疑似通過此方式引誘群眾投資。該團隊來自韓國,宣稱投資者存入100萬元,復利一年就能賺到700萬元。投資者除保本外,每月還能獲得10%到30%的收益,直接發展一名下線獎勵100%,二層到十層各獎勵10%,具備傳銷的典型特征。建議廣大群眾對此類非法金融宣講活動保持警惕。[2019/3/8]

我們不需要對合約做任何修改,盡管可能不一定是這樣,例如對.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)函數,允許任何人自己鑄造一些代幣。

動態 | ADA創始人指責Cardano基金會不作為 宣布將接管基金會:據cryptoglobe消息,ADA創始人Charles Hoskinson和Cardano旗下的風險投資公司Emurgo的CEO Ken Kodama近日發布聯合聲明,公開指責Cardano基金會不作為和無能,要求團隊負責人辭職并接受審計。同時他們宣稱將于2020年接管基金會。在公開聲明中,Charles還列舉了基金會的八大罪狀,其中包括財務不透明和重大事件陳述失實等。[2018/10/13]

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:TIMMISPTIIMIULTIMO GGMarsMissionPTI幣SASHIMI

狗狗幣
TER:庫幣上線Anchor Protocol (ANC)!

親愛的庫幣用戶: 我們很高興的宣布,庫幣將上線另一個Terra生態項目——AnchorProtocol,并支持交易對ANC/USDT和ANC/UST.

1900/1/1 0:00:00
USDT:關于WBF對已上線幣種的隱藏、下線調整公告(三十五)

尊敬的用戶: 為了營造健康的數字資產環境,給用戶提供良好的交易體驗,根據《WBF交易分區及轉板試行管理辦法‘退市規則’》規定,WBF審核團隊將平臺已上線項目進行了全面的市場監測和進展跟蹤.

1900/1/1 0:00:00
OXY:CoinBene上線Oxygen (OXY) 的公告

尊敬的用戶: CoinBene將上線OXY/USDT幣幣交易,邀您體驗。OXY充值時間:2021年3月19日15:00OXY交易時間:2021年3月19日15:00OXY提幣時間:2021年3月.

1900/1/1 0:00:00
CTX:X-DAO——賦能傳統金融,實現財富躍升

在2020年的疫情之下,各傳統行業遭受重創,全球各地區經濟發展陷入停滯甚至大幅衰退。傳統金融行業,亦不例外.

1900/1/1 0:00:00
MAN:席幕楓:3.20比特幣6萬關口屢棒喝,空穴來風已成定局

多言不可與謀,多動不可與久處,交易與其沖動,還不如一動不動!大家好,我是席幕楓。心存陽光必有詩與遠方,認識我老席何懼再遇荒涼?席幕楓:3.20比特幣行情分析大餅,昨日全天震蕩上行,凌晨沖擊594.

1900/1/1 0:00:00
LYG:PolkaFoundry將集成Orion的流動性引導插件

官方消息,PolkaFoundry和Orion達成合作,Orion的流動性引導插件將被集成到PolkaFoundry,為上面的DEX提供支持.

1900/1/1 0:00:00
ads