買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 火星幣 > Info

OIN:開發者指南:詳解賬戶抽象提案EIP-4337工作流程_football幣合約

Author:

Time:1900/1/1 0:00:00

原文標題:《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。掌握普通流程后才方便掌握聚合型的交易。

Tornado Cash開發者律師就Chainalysis提供的證據提出質疑:5月24日消息,Tornado Cash開發者Alexey Pertsev的律師質疑Chainalysis提供的證據,并表示其提供的證據不足以證明Tornado Cash與犯罪相關資金有關。法院已允許律師Keith Cheng對Chainalysis收集數據的方式進行詢問。[2023/5/24 22:15:15]

流程圖中箭頭不代表程序的調用棧或輸入輸出,僅代表相關角色、函數、事件的發生的先后順序。

為方便讀者對宏觀架構的快速理解,流程圖中省略了一部分函數調用和邏輯。被省略的部分有可能對你研究的問題或疑惑有很大意義,具體看你想了解什么內容,所以還是需要你必要時仔細閱讀源碼。

研究 4337 需要掌握以下核心概念:

UserOperation 的內容 EntryPoint 實現 Wallet 實現 Paymaster 實現驗證階段、執行階段的執行流程與錯誤處理 Gas 的支付流程與計算

DFINITY基金會推出10萬美元女性開發者專項捐贈:12月2日消息,互聯網計算機協議(ICP)非營利組織DFINITY基金會宣布推出10萬美元女性開發者專項捐贈,旨在鼓勵女性開發者在ICP生態系統上進行建設,讓她們更容易獲得資源并將通過關鍵開發里程碑快速追蹤受贈人。目前ICP生態中女性主導項目包括去中心化社交媒體平臺Distrikt、去中心化本地社區服務Signals、Factland DAO等。(crowdfundinsider)[2022/12/2 21:17:32]

一種內容類似 transaction 的偽交易對象,通過新的 RPC 方法 eth_sendUserOperation 提交給節點。

UO 中的字段含義大部分是顯然的,僅挑選幾個容易誤解的進行分析:

sender,此處指的是要交互的 wallet,而非 msg.sender 或 tx.origin 等其他任何概念 verificationGasLimit,驗證交易時的 gasLimitcallGasLimit,執行交易時的gasLimitpreVerificationGas,補償 bundler 調用 handleOps () 時會一部分未計算在內的 gas 成本(如提交交易的 calldata 成本)。

靈蹤安全:Sushi Miso被攻擊的漏洞是一名Sushi雇傭的匿名開發者提交的:9月17日消息,Sushi的Miso項目遭到Supply Chain攻擊,一名Sushi 的匿名前端開發承包商使用GH handle AristoK3將惡意代碼注入Miso前端github倉庫,攻擊者在拍賣創建時插入自己的錢包地址以替換拍賣的錢包地址。

靈蹤安全建議: 開發者應檢查自己的前端應用是否有漏洞,并對前端代碼進行安全審計。[2021/9/17 23:32:08]

這個并非 UO 中的一個字段,而是由上面三個 gas 參數計算而出。代表了該 UO 在 驗證階段 預先支付給 EntryPoint 的總成本。Prefund 雖然是在驗證階段支付的,但包含了 preVerificationGas,驗證和執行三部分的成本。之后不會再向 EntryPoint 進行支付 gas。

動態 | 以太坊官網中文版正式上線 為開發者和用戶提供服務:據官方消息,以太坊官網中文版今日正式上線,網站目前支持中英日韓四種語言。網站分為初學者、使用、學習、開發者四個板塊,供對以太坊了解程度不同的訪問者使用。[2019/9/27]

具體計算參見 EntryPoint 中的 _getRequiredPrefund。

EntryPoint 是所有功能的核心入口。每個項目自行部署自己的 EntryPoint。Bundler,Wallet 和 Paymaster 都需要圍繞 EntryPoint 工作。

鏈下驗證 UO,剔除不符合要求和有問題的 UO。鏈下驗證一是防止 DoS,二是避免 bundler 在鏈上損失 gas。

打包合規的 UO,提交上鏈。

向 EntryPoint 支付 gas 費

只響應來自 EntryPoint 的消息

動態 | BCH別名系統Cash Accounts開發者發布Cashual Wallet錢包概念:據Bitcoin.com消息,比特幣現金別名系統Cash Accounts的開發者Jonathan Silverblood日前發布了一款他已經開發了很長時間的名為Cashual Wallet用戶友好型錢包概念。Cashual Wallet是一個專為方便使用而設計的BCH客戶端,具有Cash Accounts系統集成功能。[2019/3/4]

執行來自 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星球日報

騰訊研究院

Tags:GASALLOINNTR0XGAS價格football幣合約Stargram CoinDecentralized Tower Defense

火星幣
NCE:對話DeFiance合伙人:FTX暴雷對加密VC有何影響?_EARTH幣

原文作者:Revelo Intel 在本期的 Empire 播客中,DeFiance Capital 首席執行官 Arthur 與主持人 Blockwork 的 Jason.

1900/1/1 0:00:00
TUR:AI 熱潮下 Web3 領域有哪些尚未被發現的寶藏?_VENT

整理:angelilu,Foresight News這兩天社群中傳播最多的當屬與人工智能預訓練語言模型 ChatGPT 的聊天截圖,你問我答間也真實感受到了 ChatGPT 的進化.

1900/1/1 0:00:00
NFT:最新案”對比“第一案” NFT定性變了?_以太坊交易所叫什么名字

常讀颯姐團隊公眾號的伙伴們一定知道,我國目前尚未制訂專門針對NFT數字藏品的任何法律,現有的一些規范僅散見于部門政策性文件中,剩下的就是一些不具有法律效力僅有指導作用的行業自律性規定.

1900/1/1 0:00:00
BASE:金色早報 | 國際貨幣基金組織呼吁加強對非洲加密市場監管_coinbasepro是什么交易所

▌國際貨幣基金組織呼吁加強對非洲加密市場監管11月28日消息,國際貨幣基金組織(IMF)呼吁加強對非洲加密貨幣市場的監管,據悉,非洲加密貨幣市場目前是世界上增長最快的市場之一.

1900/1/1 0:00:00
BTC:金色早報 | NEAR基金會發布透明度報告_區塊鏈

▌NEAR基金會發布透明度報告:每年5%的通脹率中的90%將發送給驗證者以作為質押獎勵支付金色財經報道,NEAR基金會發布透明度報告。報告稱,在創世時,NEAR區塊鏈有十億個代幣.

1900/1/1 0:00:00
CARD:基礎設施和應用程序周期:新興基礎設施提供商的戰略思考_DEF

文:Liam Roberts 來源:substack 在淘金熱的喧囂中尋找信號并非易事;保持冷靜的頭腦和執行戰略是取勝的關鍵.

1900/1/1 0:00:00
ads