譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對: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實現。
以太坊過去 30 天的交易費收入約為 4.27 億美元:金色財經消息,Token Terminal 數據顯示,在各大區塊鏈及 DApp 過去 30 天的交易費收入中,以太坊以 4.27 億美元排名第一,LooksRare(7300 萬美元)、OpenSea(7170 萬美元)、dYdX(4770 萬美元)分列第二至第四,Avalanche 以 2910 萬美元排名第五。[2022/4/16 14:28:23]
如果一切順利,我們就可以開始了!
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取款。
美國參議院候選人Bryan Solstin:使比特幣成為美國的法定貨幣成為 \"首要目標\":3月16日消息,美國參議院候選人Bryan Solstin發推表示,我宣布參加美國參議院的競選。使比特幣在美國成為法定貨幣將是我在參議院的首要目標。比特幣是偉大的重置。如果Solstin設法加入參議院并成功倡導比特幣成為法定貨幣,這將意味著公民將能夠使用數字資產來償還債務,以及其他事項。(finbold)[2022/3/16 13:59:10]
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()
MXC 抹茶杠桿交易大數據:BTC 多空借幣比為 13:1:MXC 抹茶杠桿交易大數據顯示,截至 7月16日 10:00,BTC 多空借幣比為13:1。今日多空借幣比排名前 10 的幣種及其多空借幣比:BNB為6392:1、DASH為3315.6:1、MX為1839.1:1、NKN為1603.9:1、TOMO為1142.7:1、XRP為906.4:1、NEO為900.3:1、OCEAN為365:1、STORJ為261.2:1、IOTX為230.4:1。其中,STORJ借幣做多量較昨日暴漲5021%,NKN、BTC、XRP、NEO借幣做多量較昨日增長858.6%、348.2%、68.7%、67.6%。[2020/7/16]
在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的調用會在編譯時拋出一個錯誤。一般來說,編譯器的錯誤對追蹤問題都很有幫助。
動態 | 波卡即將發布 0.7.0,Kusama 將升級為 CC-3:波卡官方消息,跨鏈項目 Polkadot 宣布波卡實驗網絡 Kusama 即將從第二個候選鏈 CC-2 升級為第三個候選鏈 CC-3。在 CC-3 的啟動準備完成后,Polkadot 將發布 0.7.0 版本,之后所有人都可以連接到 CC-3,而 Kusama CC-2 這條鏈將被終止。為了減少干擾,CC-2 的大部分的狀態和交易記錄會遷移至 CC-3 之中。Kusama 網絡將會從目前 150 個驗證者數量降低到一個更合理的數量,因為并不是所有節點都會準時升級至最新的網絡。當 CC-2 停止之后,波卡將會把所有人的在 CC-2 上的交易記錄遷移到全新的 CC-3 中,并計劃在本周四之內從 PoA 過渡到 NPoS 網絡。Kusama CC-3 從一開始就將是一個可以完全去中心化治理的區塊鏈平臺,轉賬功能將會在社區投票后打開。[2019/11/28]
我們確實做了一些改動,在Optimism上出塊時間block.timestamp確實存在,但卻是對L1時間的引用。有兩件動作會更新了L2上的時間:從L1到L2的橋接信息,以及按設定頻率(心跳)定期更新L2時間。
1_dCfswNwv6CKF4PXboiR_Hg
這確實給處理L2上的時間時產生了一些有趣的挑戰,因為獲取的block.timestamp總是過去的。以后還會有更多的思考...
在一個非常實際的問題上,這意味著在本地開發中,你需要定期在本地鏈上進行交易,以保持你的L2時間的更新!
在Optimism的橋接:古英語ERC20
雖然對于很多使用場景來說,使用他人部署的ETH橋和代幣橋可以滿足大部分L1到L2橋接的需求,但我們也想了解如何將自己的L1ERC20轉移到L2,以及如何返回。
幸運的是,Optimism團隊在他們合約包提供了一些參考合約,再加上有用的教程,所以我們能夠把它們拉到我們的分支中,我們將部署三個合約:
動態 | 昨日ETH新韭菜占比為 41.72%:Searchain.io“新韭菜指數”:昨日ETH新韭菜占比為 41.72%,較前日有所下降,下降了3.07%,與上月同期相比上漲了0.22%。[2018/11/26]
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.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
盤點零知識證明代表性項目:如何影響和塑造區塊鏈生態系統?
穩定幣作為DeFi的底層資產,市值已經超過500億美元,且仍在高速增長。作為穩定幣的一個分支,算法穩定幣被人們寄希望于解決法幣抵押型穩定幣中心化的問題,以及抵押型穩定幣資金利用率低的問題.
1900/1/1 0:00:00近年來,區塊鏈的時代大潮,將傳統企業中心化的模式徹底顛覆,而這波新的區塊鏈大潮中,其特征就是每一個用戶,都有資格參與到其中。區塊鏈項目離不開技術,更離不開服務和運營.
1900/1/1 0:00:0001 加密數字貨幣市場 1、政策及市場指標 數據幾乎沒有變化,和市場盤整情緒一致。合約持倉量沒什么變化,但是爆倉數據嚴重萎縮,接下來應該會有激烈波動引發大額爆倉.
1900/1/1 0:00:00尊敬的XT用戶: XT即將上線KIND,詳情如下:開放充值:2021年3月19日20:00開放交易:2021年3月19日20:00開放提現:2021年3月19日20:00Kindcow是一個收益.
1900/1/1 0:00:00Gate.io一直秉承真實,透明的理念,不造假數據,不干預市場交易,為用戶提供真實自由的市場工具和穩定健康的市場服務。杠桿交易提供做多和做空機制,可以有效穩定市場到合理價值.
1900/1/1 0:00:00近期伴隨經濟復蘇,疫苗接種速度加快,美國10年期國債收益率上升,金融市場對于加息預期上升。但是,昨晚美聯儲鴿派發言打消了金融市場擔憂,仍預計在2023年之前將基準利率維持在接近于零的水平.
1900/1/1 0:00:00