第4課

如何建立與使用智能帳戶

一份實用指南,介紹如何使用 thirdweb、Biconomy 或 Safe SDK 創建智能帳戶。內容涵蓋如何設置開發環境、從前端連接到智能帳戶、實現無Gas流程、通過捆綁器和支付者模擬交易,以及遵循測試和部署的最佳實踐。

設置開發環境

一個典型的工作流程始於通過 Vite 或 Next.js 創建的 TypeScript 項目。在安裝 ethers-v6 和 dotenv 以進行密鑰管理之後,下一個依賴項是選擇的帳戶抽象 SDK。Thirdweb 依賴於一個帳戶工廠一個您一次性部署的合約——無論是不可變的還是可升級的——然後提供一個免費的基礎設施密鑰,以解鎖其托管的打包器和支付管理器。儀表板在您創建項目後立即發出此密鑰,並啟用對 Sepolia、Base 和 Polygon zkEVM 的限速調用。

Biconomy 採取類似的結構,但更明確地分離了關注點。您在網頁控制台中註冊一個支付管理器,為燃料箱充值,並定義決定哪些方法將獲得贊助的政策。然後 SDK 將支付管理器地址和 API 密鑰注入每個用戶操作你的 dApp 簽名。這個設計讓消費者應用程式可以添加「無燃料」流程,而不需要暴露私有轉發伺服器。

Safe的CLI部署了一個繼承經過考驗的單例合約的代理錢包;可選的Safe4337Module附加ERC-4337鉤子,使得同一個保險庫可以在不改變其地址的情況下進入alt-mempool。開發者可以在無人值守模式下運行CLI,以預先部署數百個代理,為空投或測試網絡活動做準備。

從前端連接到智能帳戶

一旦後端組件存在於鏈上,React 應用程序可以顯示一個單一的「連接」按鈕,該按鈕解析為智能帳戶上下文。Thirdweb 的 包裝器需要一個客戶端 ID 和一個工廠地址;當用戶選擇任何底層錢包—MetaMask、基於電子郵件的嵌入式錢包或通行密鑰時,提供者會靜默檢查合約是否已存在,然後在第一次交易時進行部署,當 gasless:true 被設置時,通過集成的付款人資助 gas。

Biconomy 通過 BiconomySmartAccount 類注入其上下文,該類包裝了一個 ethers Signer。在初始化之後,通過這個簽名者執行的所有調用都被編碼為 UserOperations 並轉發給打包器。Safe 提供了類似的抽象通過 @safe-global/core-kit,其中 SafeAccount 實例取代 ethers.Wallet,並提供高級助手以進行批處理、簽名收集和鏈上執行。

自定義錢包邏輯:無燃料流和白名單

智能帳戶暴露了在用戶操作被視為有效之前運行的鉤子,因此添加如白名單目的地或每日花費限制等功能,就像通過所有者交易更新合約存儲一樣簡單。對於無燃料的交互,開發者註冊了一個贊助支付管理者(Biconomy)或切換無燃料標誌(thirdweb)。在底層,支付管理者預先簽署操作,然後從其燃料庫中索回補償;用戶感知為零 ETH 餘額,但完成的操作就像他們自己資助了錢包一樣。白名單的工作原理相同:錢包中的驗證例程根據允許列表檢查調用數據,如果調用超出範圍則回退,保護用戶免受惡意合約批准的威脅。

使用綁定者和支付者模擬和簽署交易

ERC-4337 引入了一個替代的內存池,其中捆綁者收集用戶操作,執行鏈外模擬,並將成功的集合包裝成普通的以太坊交易。流行的服務包括 Alchemy Rundler、Stackup、Voltaire 和 Infinitism;每個服務都暴露了一個 JSON-RPC 端點,與參考規範相符。模擬防止無望的操作——例如,會使錢包驗證失敗的調用——到達鏈上並浪費燃氣。

支付管理者可以依賴這種流程。在模擬期間,打包者詢問支付管理者是否會支付費用,如果會,則附上支付管理者的簽名。在鏈上,EntryPoint 合約在單次調用中驗證錢包和支付管理者,合併所有批次操作,並相應地分配燃料退款。這個機制允許交易所贊助存款,遊戲補貼遊戲內操作,或 DAO 獎勵貢獻者,而無需強迫用戶持有 ETH。

測試和部署:2025年的最佳實踐

本地測試現在受益於基於分叉的網絡,例如 Anvil 或 Hardhat-foundry,這些網絡可以模擬打包器和付款方,以便完整的 UserOperation 週期在內存中運行。在推送到測試網之前,項目使用 Solidity 0.8.25 進行編譯,並啟用優化器運行以匹配審計師將審查的字節碼。持續集成腳本執行靜態分析通過 Slither 或 MythX,並對預期的不變性運行差異模糊測試。

安全仍然是最重要的:2025年的審計指導方針強調多層次的審查,結合自動掃描、手動分析和實時滲透測試。團隊在審計之前鎖定代碼庫,解決關鍵發現,並在部署元數據旁邊發布最終報告。一旦審計結果良好,首先部署工廠合約,然後是支付者(如果需要),最後是更新指向實時打包器端點的前端環境變數。發佈後,監控鉤子監視失敗的用戶操作和撤回的支付者調用,及時提醒開發者,以便在用戶察覺到停機之前進行處理。

完成這些步驟後,dApp 可以提供一個一鍵式的入門流程,讓新手可以創建錢包、鑄造 NFT 或在不先購買 ETH 的情況下進入 DeFi 位置。下一個也是最後一個模組將規劃這些流程的實際部署,權衡當前的限制,並調查像 ERC-6900 這樣的新興標準,這些標準承諾提供更大的模塊化。

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第4課

如何建立與使用智能帳戶

一份實用指南,介紹如何使用 thirdweb、Biconomy 或 Safe SDK 創建智能帳戶。內容涵蓋如何設置開發環境、從前端連接到智能帳戶、實現無Gas流程、通過捆綁器和支付者模擬交易,以及遵循測試和部署的最佳實踐。

設置開發環境

一個典型的工作流程始於通過 Vite 或 Next.js 創建的 TypeScript 項目。在安裝 ethers-v6 和 dotenv 以進行密鑰管理之後,下一個依賴項是選擇的帳戶抽象 SDK。Thirdweb 依賴於一個帳戶工廠一個您一次性部署的合約——無論是不可變的還是可升級的——然後提供一個免費的基礎設施密鑰,以解鎖其托管的打包器和支付管理器。儀表板在您創建項目後立即發出此密鑰,並啟用對 Sepolia、Base 和 Polygon zkEVM 的限速調用。

Biconomy 採取類似的結構,但更明確地分離了關注點。您在網頁控制台中註冊一個支付管理器,為燃料箱充值,並定義決定哪些方法將獲得贊助的政策。然後 SDK 將支付管理器地址和 API 密鑰注入每個用戶操作你的 dApp 簽名。這個設計讓消費者應用程式可以添加「無燃料」流程,而不需要暴露私有轉發伺服器。

Safe的CLI部署了一個繼承經過考驗的單例合約的代理錢包;可選的Safe4337Module附加ERC-4337鉤子,使得同一個保險庫可以在不改變其地址的情況下進入alt-mempool。開發者可以在無人值守模式下運行CLI,以預先部署數百個代理,為空投或測試網絡活動做準備。

從前端連接到智能帳戶

一旦後端組件存在於鏈上,React 應用程序可以顯示一個單一的「連接」按鈕,該按鈕解析為智能帳戶上下文。Thirdweb 的 包裝器需要一個客戶端 ID 和一個工廠地址;當用戶選擇任何底層錢包—MetaMask、基於電子郵件的嵌入式錢包或通行密鑰時,提供者會靜默檢查合約是否已存在,然後在第一次交易時進行部署,當 gasless:true 被設置時,通過集成的付款人資助 gas。

Biconomy 通過 BiconomySmartAccount 類注入其上下文,該類包裝了一個 ethers Signer。在初始化之後,通過這個簽名者執行的所有調用都被編碼為 UserOperations 並轉發給打包器。Safe 提供了類似的抽象通過 @safe-global/core-kit,其中 SafeAccount 實例取代 ethers.Wallet,並提供高級助手以進行批處理、簽名收集和鏈上執行。

自定義錢包邏輯:無燃料流和白名單

智能帳戶暴露了在用戶操作被視為有效之前運行的鉤子,因此添加如白名單目的地或每日花費限制等功能,就像通過所有者交易更新合約存儲一樣簡單。對於無燃料的交互,開發者註冊了一個贊助支付管理者(Biconomy)或切換無燃料標誌(thirdweb)。在底層,支付管理者預先簽署操作,然後從其燃料庫中索回補償;用戶感知為零 ETH 餘額,但完成的操作就像他們自己資助了錢包一樣。白名單的工作原理相同:錢包中的驗證例程根據允許列表檢查調用數據,如果調用超出範圍則回退,保護用戶免受惡意合約批准的威脅。

使用綁定者和支付者模擬和簽署交易

ERC-4337 引入了一個替代的內存池,其中捆綁者收集用戶操作,執行鏈外模擬,並將成功的集合包裝成普通的以太坊交易。流行的服務包括 Alchemy Rundler、Stackup、Voltaire 和 Infinitism;每個服務都暴露了一個 JSON-RPC 端點,與參考規範相符。模擬防止無望的操作——例如,會使錢包驗證失敗的調用——到達鏈上並浪費燃氣。

支付管理者可以依賴這種流程。在模擬期間,打包者詢問支付管理者是否會支付費用,如果會,則附上支付管理者的簽名。在鏈上,EntryPoint 合約在單次調用中驗證錢包和支付管理者,合併所有批次操作,並相應地分配燃料退款。這個機制允許交易所贊助存款,遊戲補貼遊戲內操作,或 DAO 獎勵貢獻者,而無需強迫用戶持有 ETH。

測試和部署:2025年的最佳實踐

本地測試現在受益於基於分叉的網絡,例如 Anvil 或 Hardhat-foundry,這些網絡可以模擬打包器和付款方,以便完整的 UserOperation 週期在內存中運行。在推送到測試網之前,項目使用 Solidity 0.8.25 進行編譯,並啟用優化器運行以匹配審計師將審查的字節碼。持續集成腳本執行靜態分析通過 Slither 或 MythX,並對預期的不變性運行差異模糊測試。

安全仍然是最重要的:2025年的審計指導方針強調多層次的審查,結合自動掃描、手動分析和實時滲透測試。團隊在審計之前鎖定代碼庫,解決關鍵發現,並在部署元數據旁邊發布最終報告。一旦審計結果良好,首先部署工廠合約,然後是支付者(如果需要),最後是更新指向實時打包器端點的前端環境變數。發佈後,監控鉤子監視失敗的用戶操作和撤回的支付者調用,及時提醒開發者,以便在用戶察覺到停機之前進行處理。

完成這些步驟後,dApp 可以提供一個一鍵式的入門流程,讓新手可以創建錢包、鑄造 NFT 或在不先購買 ETH 的情況下進入 DeFi 位置。下一個也是最後一個模組將規劃這些流程的實際部署,權衡當前的限制,並調查像 ERC-6900 這樣的新興標準,這些標準承諾提供更大的模塊化。

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。