原文標題:《EIP-4337 詳細工作流程》
原文作者:Ben Law
本文不會從頭介紹 EIP-4337,僅介紹 4337 的主要合約是如何實現的。適合對 4337 有一定了解的開發者,由其是錢包開發者,以及愛好者或研究員閱讀。
主要內容位于流程圖中:
需要配合 4337 源碼閱讀 GitHub—eth-infinitism/account-abstraction at main。
4337 Spec 中有更多詳細細節 EIP-4337: Account Abstraction using alt mempool。
請注意:
本流程圖只畫出了普通類型的交易,未涉及 Aggregator。掌握普通流程后才方便掌握聚合型的交易。
調查:75%的游戲開發者希望在未來參與Web3游戲開發:12月20日消息,區塊鏈娛樂公司Coda Labs委托進行的調查結果顯示,四分之三(75%)的受訪游戲開發者希望在未來從事Web3游戲項目工作。
除此之外,超過一半的受訪者相信Web3將徹底改變游戲行業。一些人認為Web3將在用戶獲取和留存方面產生影響。40%的人預計實施Web3將帶來更多新用戶,36%的人認為Web3集成將使游戲更好地留存用戶。(Cointelegraph)[2022/12/21 21:57:02]
流程圖中箭頭不代表程序的調用棧或輸入輸出,僅代表相關角色、函數、事件的發生的先后順序。
為方便讀者對宏觀架構的快速理解,流程圖中省略了一部分函數調用和邏輯。被省略的部分有可能對你研究的問題或疑惑有很大意義,具體看你想了解什么內容,所以還是需要你必要時仔細閱讀源碼。
研究 4337 需要掌握以下核心概念:
以太坊核心開發者:藝術的未來以 ETH 定價:以太坊核心開發者、EIP-1559聯合作者eric.eth發推表示,藝術的未來以 ETH 定價。[2021/8/22 22:29:10]
UserOperation 的內容 EntryPoint 實現 Wallet 實現 Paymaster 實現驗證階段、執行階段的執行流程與錯誤處理 Gas 的支付流程與計算
一種內容類似 transaction 的偽交易對象,通過新的 RPC 方法 eth_sendUserOperation 提交給節點。
UO 中的字段含義大部分是顯然的,僅挑選幾個容易誤解的進行分析:
sender,此處指的是要交互的 wallet,而非 msg.sender 或 tx.origin 等其他任何概念 verificationGasLimit,驗證交易時的 gasLimitcallGasLimit,執行交易時的gasLimitpreVerificationGas,補償 bundler 調用 handleOps () 時會一部分未計算在內的 gas 成本(如提交交易的 calldata 成本)。
聲音 | 比特幣核心開發者:已將Parity2.6.8完全同步到以太坊區塊9,390,000:比特幣核心開發者、Casa的技術總監Jameson Lopp今日發推特稱,我的基準測試計算機花了9天2個小時將Parity2.6.8完全同步到以太坊區塊9,390,000。它執行超過47TB的磁盤讀取和42TB的磁盤寫入。[2020/2/2]
這個并非 UO 中的一個字段,而是由上面三個 gas 參數計算而出。代表了該 UO 在 驗證階段 預先支付給 EntryPoint 的總成本。Prefund 雖然是在驗證階段支付的,但包含了 preVerificationGas,驗證和執行三部分的成本。之后不會再向 EntryPoint 進行支付 gas。
具體計算參見 EntryPoint 中的 _getRequiredPrefund。
聲音 | 比特幣核心開發者:能源消耗是將比特幣限制在2100萬的力量:比特幣核心開發者Jimmy?Song發推稱:“能源消耗是將比特幣限制在2100萬的力量。缺乏實際成本使得法定貨幣能夠無限擴張。你可以有難以獲得的、稀缺的貨幣,也可以有容易獲得的貨幣; 容易獲得的稀缺貨幣并不存在。”[2019/10/17]
EntryPoint 是所有功能的核心入口。每個項目自行部署自己的 EntryPoint。Bundler,Wallet 和 Paymaster 都需要圍繞 EntryPoint 工作。
鏈下驗證 UO,剔除不符合要求和有問題的 UO。鏈下驗證一是防止 DoS,二是避免 bundler 在鏈上損失 gas。
打包合規的 UO,提交上鏈。
向 EntryPoint 支付 gas 費
只響應來自 EntryPoint 的消息
分析 | 以太坊對BTC匯率略有回升 30天開發者指數約為2.25:據 TokenGazer 數據分析顯示,截止至 9?月 27?日 11 時,以太坊價格為$164.9,總市值為$17,815.65M,主流交易所交易量約為$170.4M,環比昨日增量16.5%;以太坊對比特幣匯率略有回升;基本面方面,以太坊鏈上交易量有一定縮水、算力有一定增長、活躍地址數持續下滑、鏈上DApp交易量企穩;以太坊 30 天開發者指數約為 2.25;以太坊與 BTC 180 天關聯度保持在年內低點附近平穩波動,30 天 ROI表現不佳;ERC20 代幣總市值約為以太坊總市值的 56.36%;ERC20 活躍地址數方面,排名前五的代幣為 DAI?、USDC、LINK、PAX、ZRX。[2019/9/27]
執行來自 EntryPoint 的具體交易內容
注意,EntryPoint 不是 Wallet 的 factory。官方給出的圖片容易給人造成這種誤解,但官方實現并非如此。
向 EntryPoint 確認自己的為某 UO 服務的意愿
在 EntryPoint 內質押才能成為 paymaster
我們可以看到 Wallet 與 Paymaster 都有可能向 EntryPoint 支付 gas。gas 余額會存儲在 deposits 這個 mapping 中。
注意,雖然 deposits 字面意思為充值,但并非必須一個需要預先手動完成的動作,也可以在每一筆 UO 發生時,計算缺少多少 gas 并自動充值。
最終,若所有操作的 actualGasCost 小于 prefund, EntryPoint 會將多余額度退款至你的 deposit。
注意, validationActualCost & callActualCost 僅僅是為了說明而作的標記,并非真實存在的變量。它們是由 gasPrice() 累加的。
代表用戶最終使用的錢包。需要開發者至少實現以下兩個自定義方法:
簽名驗證:你可以使用任何密碼學手段來實現簽名驗證,比如,為了配合使用蘋果的 Security Enclave 而實現 NIST P-256 的 ECDSA。如果沒有特殊需求可直接使用以太坊的 ECDSA。
處理交易:EntryPoint 通過 address (sender).call (callData) 來調用 wallet 中的具體的交易功能。那么 call 需要有至少一個可執行的函數,如 transferEther (),callAnotherContrat () 等。
開發者還需要自行實現 wallet factory,需要創建錢包時,工廠會被 SenderCreator 合約調用。新建錢包應使用 CREATE2 方法以保障生成地址的確定性。
Paymaster 可以為用戶支付 gas,因此可以實現:
免費交易:用戶激勵,讓用戶免費使用錢包
gasless 交易:不直接用 ether 支付 gas,而使用其他 token 或 nft 等
等等其他類似的贊助交易功能
Paymaster 需要開發者實現:
validatePaymasterUserOp ():由于 paymaster 的開放性,驗證邏輯需要開發者完全自己定義。驗證后有可能需要實現類似 wallet 中 payPrefund () 的功能。
postOp:必須重寫此方法,否則會被 revert。此方法可以定義在 paymaster 贊助完交易后需要做什么,如在驗證時為用戶支付了 ether,則此處要求用戶支付等價的 ERC-20。
區塊律動BlockBeats
媒體專欄
閱讀更多
金色早8點
金色財經
去中心化金融社區
CertiK中文社區
虎嗅科技
念青
深潮TechFlow
Odaily星球日報
騰訊研究院
文:Seun Gbri 來源:Global Coin Research已故的斯蒂芬·柯維(Stephen Covey)曾說,生活中有三個常量:變化、選擇和原則。我們正在增加第四個:稅收.
1900/1/1 0:00:00金色財經報道,消息人士稱,Meta首席執行官扎克伯格將于明年卸任。Meta Platforms(META.O)短線拉升,現漲超1%.
1900/1/1 0:00:00當地時間11月30日周三下午,美聯儲主席鮑威爾在華盛頓布魯金斯學會就美國經濟前景、通脹和勞動力市場發表了演講.
1900/1/1 0:00:00三大 CeFi 平臺之二已破產清算,唯留手握 20 億美元資產規模的 Nexo。FTX 暴雷之后,烏云延伸到了多家平臺,Genesis、BlockFi 等紛紛告急;Celsius,三大 CeFI.
1900/1/1 0:00:00撰寫:Small Cap Scientist編譯:深潮 TechFlow創世池和 $GRAIL 的公開銷售正在 Arbitrum 上的 Camelot DEX 進行.
1900/1/1 0:00:00圖片來源:由無界版圖AI工具生成 要點: MSTR 的債務結構如何?MSTR 是否存在比特幣清算價格?如果有.
1900/1/1 0:00:00