譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對: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實現。
本周波卡解除質押的DOT總量為 255.44 萬枚:據 KingData 數據監控,本周(03月07日-03月13日)波卡解除質押的DOT總量為 255.44 萬枚,解鎖峰值在03月13日,解鎖 157.03 萬枚DOT。[2022/3/7 13:42:00]
如果一切順利,我們就可以開始了!
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取款。
1_iUEdefxX0UwlELeOwG4GdgL1/L2橋
Zeitgeist計劃部署為 Kusama 平行鏈:3月24日消息,基于波卡生態的預測市場 Zeitgeist 在平臺介紹中指出,該平臺基于波卡區塊鏈框架 Substrate 構建,Zeitgeist 將部署為 Kusama 平行鏈,實現與 Kusama 和波卡生態系統中的所有平行鏈和應用程序的跨鏈互操作性。Zeitgeist 將由代幣持有者共同擁有。Zeitgeist 將引入“futarchy”概念作為其基礎層鏈的主要治理機制之一,并將成為在實際經濟環境中使用該實驗性治理系統的示例之一。Zeitgeist 將使用一個鏈上的資金庫,激勵團隊在協議的基礎上建立預測市場,促進網絡發展,同時將開發一個開放的 SDK,使技術開發者能夠根據預測市場在 Zeitgeist 上部署應用程序。
核心團隊成員包括技術專家 Logan Saether (擁有以太坊和波卡生態系統工程項目背景)、擁有預測市場平臺職業經驗的 David Perry 以及社區建設者 Chris Hutchinson。[2021/3/24 19:13:58]
存款是指在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。
DeFi 概念板塊今日平均跌幅為 -4.09%:金色財經行情顯示,DeFi 概念板塊今日平均跌幅為 -4.09%。47個幣種中10個上漲,37個下跌,其中領漲幣種為:YFI(+9.97%)、SRM(+7.83%)、SNX(+6.92%)。領跌幣種為:AST(-14.33%)、RSR(-13.92%)、AKRO(-11.01%)。[2020/11/8 12:00:29]
目前在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()
請注意前面提到的wait()!
有一些細微的差別--我們不能使用內置的Hardhat網絡,必須實例化我們自己的提供者和簽名者。
NFT 概念板塊今日平均跌幅為 -0.12%:金色財經行情顯示,NFT 概念板塊今日平均跌幅為 -0.12%。16個幣種中10個上漲,6個下跌,其中領漲幣種為:DEP(+7.64%)、HDAO(+4.41%)、NASH(+2.96%)。領跌幣種為:MIX(-7.95%)、MEME(-4.83%)、WHALE(-4.79%)。[2020/11/2 11:25:48]
我們不需要對合約做任何修改,盡管可能不一定是這樣,例如對.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)函數,允許任何人自己鑄造一些代幣。
L1ERC20Gateway.sol:也是在L1上,這允許我們向L2存款,同時鎖定代幣。
人民銀行金融研究所所長孫國峰認為 區塊鏈、加密貨幣、ICO三者之間不能完全劃等號:人民銀行金融研究所所長孫國峰:真正把大數據、云計算、區塊鏈、人工智能這些技術與金融業務相結合并改變金融業態、提高金融效率、更好的服務實體經濟才是金融業下一步的發展方向;政府監管及科技監管應該共同發力推進金融科技朝向更為光明的前景進發,區塊鏈、加密貨幣、ICO三者之間不能完全劃等號;區塊鏈技術可在征信、跨境支付、權益證明等領域爆發。但區塊鏈的性能、隱私保護、升級修復機制、系統性風險等方面還有待探索。[2017/12/22]
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.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
盤點零知識證明代表性項目:如何影響和塑造區塊鏈生態系統?
親愛的用戶: DigiFinex現已開放MATIC和AXS充提幣服務。暫停期間給您帶來的不便,敬請諒解! 感謝您的支持! DigiFinex團隊 SEC前律師:法院不會盲目接受SEC關于證券法適.
1900/1/1 0:00:00尊敬的虎符用戶, 虎符虎符將于2021年03月27日11:18(UTC8)恢復上線CDS/USDT交易對,充值提現業務已開啟.
1900/1/1 0:00:00親愛的BitMax用戶:為支持FireProtocol(FIRE)的生態建設,BitMax現已開啟FIREStaking限時預體驗活動.
1900/1/1 0:00:00文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00金色財經報道,美國證券交易委員會公布VanEck的比特幣ETF申請,監管機構現在有45天的時間批準或拒絕該申請或延長審查期限.
1900/1/1 0:00:00尊敬的虎符用戶: 為回饋廣大用戶對虎符合約一直以來的支持,現推出虎符合約分享盈利贏20000萬USDT贈金活動.
1900/1/1 0:00:00