Lektion 4

Wie man ein Smart Account erstellt und benutzt

Ein praktischer Leitfaden zur Erstellung von Smart Accounts mit thirdweb, Biconomy oder Safe SDKs. Es wird behandelt, wie man eine Entwicklungsumgebung einrichtet, sich von einem Frontend mit Smart Accounts verbindet, gaslose Abläufe implementiert, Transaktionen über Bundler und Paymaster simuliert und bewährte Verfahren für Tests und Bereitstellungen befolgt.

Einrichten der Entwicklungsumgebung

Ein typischer Arbeitsablauf beginnt mit einem TypeScript-Projekt, das über Vite oder Next.js erstellt wurde. Nach der Installation von ethers-v6 und dotenv für die Schlüsselverwaltung ist die nächste Abhängigkeit das gewählte Account-Abstraction-SDK. Thirdweb basiert auf einem Konto-FabrikEin Vertrag, den Sie einmal bereitstellen – entweder unveränderlich oder upgradefähig – der dann einen kostenlosen Infrastruktur-Schlüssel bereitstellt, der seinen gehosteten Bundler und Paymaster freischaltet. Das Dashboard gibt diesen Schlüssel sofort nach der Erstellung eines Projekts aus und ermöglicht rate-limitierten Zugriff auf Sepolia, Base und Polygon zkEVM.

Biconomy folgt einer ähnlichen Struktur, trennt jedoch die Anliegen klarer. Sie registrieren einen Zahlmeister in der Web-Konsole, laden einen Gas-Tank auf und definieren Richtlinien, die entscheiden, welche Methoden gesponsert werden. Das SDK injiziert dann die Adresse des Zahlmeisters und den API-Schlüssel in jede BenutzeroperationIhre dApp-Signaturen. Dieses Design ermöglicht es Verbraucheranwendungen, "gaslose" Abläufe hinzuzufügen, ohne einen privaten Relay-Server offenzulegen.

Safes CLI implementiert eine Proxy-Wallet, die einen erprobten Singleton-Vertrag erbt; ein optionales Safe4337Module fügt ERC-4337-Hooks hinzu, sodass dasselbe Vault in den Alt-Mempool eintreten kann, ohne seine Adresse zu ändern. Entwickler können die CLI im unbeaufsichtigten Modus ausführen, um Hunderte von Proxys für einen Airdrop oder eine Testnet-Kampagne vorab bereitzustellen.

Verbindung zu einem Smart-Konto von der Frontend-Seite

Sobald die Backend-Komponenten on-chain existieren, kann eine React-Anwendung einen einzigen "Connect"-Button bereitstellen, der auf einen Smart-Account-Kontext auflöst. Das -Wrapper von Thirdweb benötigt eine Client-ID und eine Factory-Adresse; wenn der Benutzer eine beliebige zugrunde liegende Brieftasche auswählt – MetaMask, eine E-Mail-basierte eingebettete Brieftasche oder einen Passkey – prüft der Anbieter stillschweigend, ob ein Vertrag bereits existiert, und implementiert ihn dann bei der ersten Transaktion, wobei die Gasgebühren über den integrierten Paymaster finanziert werden, wenn gasless:true gesetzt ist.

Biconomy injiziert seinen Kontext durch die BiconomySmartAccount-Klasse, die einen ethers Signer umschließt. Nach der Initialisierung werden alle über diesen Signer ausgeführten Aufrufe als UserOperations codiert und an den Bundler weitergeleitet. Safe bietet eine ähnliche Abstraktion über@safe-global/core-kit, wo eine SafeAccount-Instanz ethers.Wallet ersetzt und hochgradige Helfer für das Batching, die Signatursammlung und die On-Chain-Ausführung bereitstellt.

Anpassung der Wallet-Logik: gaslose Abläufe und Whitelisting

Smart Accounts bieten Hooks, die ausgeführt werden, bevor eine UserOperation als gültig angesehen wird. Das Hinzufügen von Funktionen wie zugelassenen Zielen oder täglichen Ausgabenlimits ist so einfach wie das Aktualisieren des Vertrags-Speichers durch eine Transaktion des Eigentümers. Für gaslose Interaktionen registriert der Entwickler ein Sponsorship-Zahlmeister(Biconomy) oder aktiviert die gaslose Flagge (thirdweb). Im Hintergrund unterschreibt der Zahlungsmaster die Operation im Voraus und fordert später eine Rückerstattung aus seinem Gas-Tank an; der Benutzer hat einen Guthaben von null ETH, kann jedoch die Aktion ausführen, als ob er die Brieftasche selbst finanziert hätte. Die Whitelist-Funktion funktioniert auf die gleiche Weise: Eine Validierungsroutine in der Brieftasche überprüft die Calldata gegen eine genehmigte Liste und macht einen Rückgriff, wenn der Aufruf außerhalb des Rahmens liegt, um die Benutzer vor böswilligen Vertragsgenehmigungen zu schützen.

Simulation und Unterzeichnung von Transaktionen mit Bundlern und Zahlungsdienstleistern

ERC-4337 führt einen alternativen Mempool ein, in dem BundlerSammeln Sie Benutzeroperationen, führen Sie eine Off-Chain-Simulation durch und wickeln Sie erfolgreiche Sätze in gewöhnliche Ethereum-Transaktionen ein. Beliebte Dienste sind Alchemy Rundler, Stackup, Voltaire und Infinitism; jeder bietet einen JSON-RPC-Endpunkt, der das Referenzspezifikation widerspiegelt. Die Simulation verhindert aussichtslose Operationen – beispielsweise Aufrufe, die die Validierung der Brieftasche nicht bestehen würden – davon, in die Blockchain zu gelangen und Gas zu verschwenden.

Ein Zahlungsdienstleister kann auf diesem Fluss aufbauen. Während der Simulation fragt der Bunder den Zahlungsdienstleister, ob er die Gebühr übernehmen wird, und wenn ja, fügt er die Unterschrift des Zahlungsdienstleisters hinzu. On-Chain validiert der EntryPoint-Vertrag sowohl die Brieftasche als auch den Zahlungsdienstleister in einem einzigen Aufruf, fasst alle gebündelten Aktionen zusammen und verteilt die Gasrückerstattungen entsprechend. Dieser Mechanismus ermöglicht es einer Börse, Einzahlungen zu fördern, einem Spiel, In-Game-Züge zu subventionieren, oder einer DAO, Mitwirkende zu belohnen, ohne die Benutzer zu zwingen, ETH zu halten.

Testen und Bereitstellen: bewährte Praktiken für 2025

Lokale Tests profitieren jetzt von fork-basierten Netzwerken wie Anvil oder Hardhat-foundry, die einen Bundler und einen Zahler impersonieren können, sodass der gesamte UserOperation-Zyklus im Speicher abläuft. Bevor sie ins Testnetz gepusht werden, kompilieren Projekte mit Solidity 0.8.25 und aktivieren Optimiererläufe, um den Bytecode zu matchen, den Prüfer überprüfen werden. Continuous Integration-Skripte führen statische Analyse-Durchläufe mit Slither oder MythX aus und führen differenzielle Fuzzing-Tests gegen beabsichtigte Invarianten durch.

Sicherheit bleibt von größter Bedeutung: Die Prüfungsrichtlinien für 2025 betonen mehrschichtige Überprüfungen, die automatisierte Scans, manuelle Analysen und Live-Penetrationstests kombinieren. Die Teams sperren den Code vor der Prüfung, beheben kritische Ergebnisse und veröffentlichen den Abschlussbericht zusammen mit ihren Bereitstellungsmetadaten. Sobald die Prüfung erfolgreich ist, wird zuerst der Fabrikvertrag bereitgestellt, gefolgt vom Zahlmeister (falls erforderlich) und schließlich den Aktualisierungen der Umgebungsvariablen für das Frontend, die auf die Live-Bündler-Endpunkte verweisen. Nach dem Start überwachen Überwachungs-Hooks fehlgeschlagene Benutzeroperationen und zurückgesetzte Zahlmeisteraufrufe, um die Entwickler zu alarmieren, bevor die Benutzer Ausfallzeiten bemerken.

Mit diesen Schritten kann eine dApp einen One-Click-Onboarding-Prozess präsentieren, bei dem Neulinge eine Wallet erstellen, ein NFT prägen oder eine DeFi-Position eingehen können, ohne vorher ETH kaufen zu müssen. Das nächste und letzte Modul wird reale Implementierungen solcher Abläufe skizzieren, aktuelle Einschränkungen abwägen und auf aufkommende Standards wie ERC-6900 eingehen, die sogar noch größere Modularität versprechen.

Haftungsausschluss
* Kryptoinvestitionen sind mit erheblichen Risiken verbunden. Bitte lassen Sie Vorsicht walten. Der Kurs ist nicht als Anlageberatung gedacht.
* Der Kurs wird von dem Autor erstellt, der Gate Learn beigetreten ist. Vom Autor geteilte Meinungen spiegeln nicht zwangsläufig die Meinung von Gate Learn wider.
Katalog
Lektion 4

Wie man ein Smart Account erstellt und benutzt

Ein praktischer Leitfaden zur Erstellung von Smart Accounts mit thirdweb, Biconomy oder Safe SDKs. Es wird behandelt, wie man eine Entwicklungsumgebung einrichtet, sich von einem Frontend mit Smart Accounts verbindet, gaslose Abläufe implementiert, Transaktionen über Bundler und Paymaster simuliert und bewährte Verfahren für Tests und Bereitstellungen befolgt.

Einrichten der Entwicklungsumgebung

Ein typischer Arbeitsablauf beginnt mit einem TypeScript-Projekt, das über Vite oder Next.js erstellt wurde. Nach der Installation von ethers-v6 und dotenv für die Schlüsselverwaltung ist die nächste Abhängigkeit das gewählte Account-Abstraction-SDK. Thirdweb basiert auf einem Konto-FabrikEin Vertrag, den Sie einmal bereitstellen – entweder unveränderlich oder upgradefähig – der dann einen kostenlosen Infrastruktur-Schlüssel bereitstellt, der seinen gehosteten Bundler und Paymaster freischaltet. Das Dashboard gibt diesen Schlüssel sofort nach der Erstellung eines Projekts aus und ermöglicht rate-limitierten Zugriff auf Sepolia, Base und Polygon zkEVM.

Biconomy folgt einer ähnlichen Struktur, trennt jedoch die Anliegen klarer. Sie registrieren einen Zahlmeister in der Web-Konsole, laden einen Gas-Tank auf und definieren Richtlinien, die entscheiden, welche Methoden gesponsert werden. Das SDK injiziert dann die Adresse des Zahlmeisters und den API-Schlüssel in jede BenutzeroperationIhre dApp-Signaturen. Dieses Design ermöglicht es Verbraucheranwendungen, "gaslose" Abläufe hinzuzufügen, ohne einen privaten Relay-Server offenzulegen.

Safes CLI implementiert eine Proxy-Wallet, die einen erprobten Singleton-Vertrag erbt; ein optionales Safe4337Module fügt ERC-4337-Hooks hinzu, sodass dasselbe Vault in den Alt-Mempool eintreten kann, ohne seine Adresse zu ändern. Entwickler können die CLI im unbeaufsichtigten Modus ausführen, um Hunderte von Proxys für einen Airdrop oder eine Testnet-Kampagne vorab bereitzustellen.

Verbindung zu einem Smart-Konto von der Frontend-Seite

Sobald die Backend-Komponenten on-chain existieren, kann eine React-Anwendung einen einzigen "Connect"-Button bereitstellen, der auf einen Smart-Account-Kontext auflöst. Das -Wrapper von Thirdweb benötigt eine Client-ID und eine Factory-Adresse; wenn der Benutzer eine beliebige zugrunde liegende Brieftasche auswählt – MetaMask, eine E-Mail-basierte eingebettete Brieftasche oder einen Passkey – prüft der Anbieter stillschweigend, ob ein Vertrag bereits existiert, und implementiert ihn dann bei der ersten Transaktion, wobei die Gasgebühren über den integrierten Paymaster finanziert werden, wenn gasless:true gesetzt ist.

Biconomy injiziert seinen Kontext durch die BiconomySmartAccount-Klasse, die einen ethers Signer umschließt. Nach der Initialisierung werden alle über diesen Signer ausgeführten Aufrufe als UserOperations codiert und an den Bundler weitergeleitet. Safe bietet eine ähnliche Abstraktion über@safe-global/core-kit, wo eine SafeAccount-Instanz ethers.Wallet ersetzt und hochgradige Helfer für das Batching, die Signatursammlung und die On-Chain-Ausführung bereitstellt.

Anpassung der Wallet-Logik: gaslose Abläufe und Whitelisting

Smart Accounts bieten Hooks, die ausgeführt werden, bevor eine UserOperation als gültig angesehen wird. Das Hinzufügen von Funktionen wie zugelassenen Zielen oder täglichen Ausgabenlimits ist so einfach wie das Aktualisieren des Vertrags-Speichers durch eine Transaktion des Eigentümers. Für gaslose Interaktionen registriert der Entwickler ein Sponsorship-Zahlmeister(Biconomy) oder aktiviert die gaslose Flagge (thirdweb). Im Hintergrund unterschreibt der Zahlungsmaster die Operation im Voraus und fordert später eine Rückerstattung aus seinem Gas-Tank an; der Benutzer hat einen Guthaben von null ETH, kann jedoch die Aktion ausführen, als ob er die Brieftasche selbst finanziert hätte. Die Whitelist-Funktion funktioniert auf die gleiche Weise: Eine Validierungsroutine in der Brieftasche überprüft die Calldata gegen eine genehmigte Liste und macht einen Rückgriff, wenn der Aufruf außerhalb des Rahmens liegt, um die Benutzer vor böswilligen Vertragsgenehmigungen zu schützen.

Simulation und Unterzeichnung von Transaktionen mit Bundlern und Zahlungsdienstleistern

ERC-4337 führt einen alternativen Mempool ein, in dem BundlerSammeln Sie Benutzeroperationen, führen Sie eine Off-Chain-Simulation durch und wickeln Sie erfolgreiche Sätze in gewöhnliche Ethereum-Transaktionen ein. Beliebte Dienste sind Alchemy Rundler, Stackup, Voltaire und Infinitism; jeder bietet einen JSON-RPC-Endpunkt, der das Referenzspezifikation widerspiegelt. Die Simulation verhindert aussichtslose Operationen – beispielsweise Aufrufe, die die Validierung der Brieftasche nicht bestehen würden – davon, in die Blockchain zu gelangen und Gas zu verschwenden.

Ein Zahlungsdienstleister kann auf diesem Fluss aufbauen. Während der Simulation fragt der Bunder den Zahlungsdienstleister, ob er die Gebühr übernehmen wird, und wenn ja, fügt er die Unterschrift des Zahlungsdienstleisters hinzu. On-Chain validiert der EntryPoint-Vertrag sowohl die Brieftasche als auch den Zahlungsdienstleister in einem einzigen Aufruf, fasst alle gebündelten Aktionen zusammen und verteilt die Gasrückerstattungen entsprechend. Dieser Mechanismus ermöglicht es einer Börse, Einzahlungen zu fördern, einem Spiel, In-Game-Züge zu subventionieren, oder einer DAO, Mitwirkende zu belohnen, ohne die Benutzer zu zwingen, ETH zu halten.

Testen und Bereitstellen: bewährte Praktiken für 2025

Lokale Tests profitieren jetzt von fork-basierten Netzwerken wie Anvil oder Hardhat-foundry, die einen Bundler und einen Zahler impersonieren können, sodass der gesamte UserOperation-Zyklus im Speicher abläuft. Bevor sie ins Testnetz gepusht werden, kompilieren Projekte mit Solidity 0.8.25 und aktivieren Optimiererläufe, um den Bytecode zu matchen, den Prüfer überprüfen werden. Continuous Integration-Skripte führen statische Analyse-Durchläufe mit Slither oder MythX aus und führen differenzielle Fuzzing-Tests gegen beabsichtigte Invarianten durch.

Sicherheit bleibt von größter Bedeutung: Die Prüfungsrichtlinien für 2025 betonen mehrschichtige Überprüfungen, die automatisierte Scans, manuelle Analysen und Live-Penetrationstests kombinieren. Die Teams sperren den Code vor der Prüfung, beheben kritische Ergebnisse und veröffentlichen den Abschlussbericht zusammen mit ihren Bereitstellungsmetadaten. Sobald die Prüfung erfolgreich ist, wird zuerst der Fabrikvertrag bereitgestellt, gefolgt vom Zahlmeister (falls erforderlich) und schließlich den Aktualisierungen der Umgebungsvariablen für das Frontend, die auf die Live-Bündler-Endpunkte verweisen. Nach dem Start überwachen Überwachungs-Hooks fehlgeschlagene Benutzeroperationen und zurückgesetzte Zahlmeisteraufrufe, um die Entwickler zu alarmieren, bevor die Benutzer Ausfallzeiten bemerken.

Mit diesen Schritten kann eine dApp einen One-Click-Onboarding-Prozess präsentieren, bei dem Neulinge eine Wallet erstellen, ein NFT prägen oder eine DeFi-Position eingehen können, ohne vorher ETH kaufen zu müssen. Das nächste und letzte Modul wird reale Implementierungen solcher Abläufe skizzieren, aktuelle Einschränkungen abwägen und auf aufkommende Standards wie ERC-6900 eingehen, die sogar noch größere Modularität versprechen.

Haftungsausschluss
* Kryptoinvestitionen sind mit erheblichen Risiken verbunden. Bitte lassen Sie Vorsicht walten. Der Kurs ist nicht als Anlageberatung gedacht.
* Der Kurs wird von dem Autor erstellt, der Gate Learn beigetreten ist. Vom Autor geteilte Meinungen spiegeln nicht zwangsläufig die Meinung von Gate Learn wider.