Web3 Ethereum, Etherjs und Wallet Connect Wrapper für Flutter Web

Bloggen

Web3 Ethereum, Etherjs und Wallet Connect Wrapper für Flutter Web. Speziell für die Entwicklung von Dapp entwickelt



Einführung

flatter_web3 v2 ist eine vollständige Dart-Klasse und ein Funktions-Wrapper für

  • Ethereum-Objekt vom Anbieter, d. h. MetaMask.
  • Ether.js Paket
    • Dies kann verwendet werden, um Transaktionen zu signieren und mit Smart Contracts zu interagieren, auch Blockchain-Daten-Utilities abzufragen und viele Hilfsfunktionen für die Entwicklung von Dapps.
  • Wallet Connect-Anbieter Paket
    • Dies ermöglicht die modale QR-Code-Interaktion und aktiviert Brieftaschen, die Wallet Connect verwenden, um den Anbieter zu verwenden.

Dieses Paket wurde speziell für die Entwicklung von Dapp auf Cross(Multiple) Chain in Flutter Web entwickelt

V2-Änderungen

Version 2.0 dieses Pakets wird anstelle der js-Interop-Klasse einen vollständigen Dart-Wrapper einführen. Einschließlich toString-Überschreibung für einfacheres Debuggen und einfachere Instanziierung von Klassen.



Breaking Changes

  • Die Ethereum-Klasse enthält jetzt eine statische Methode für den Zugriff auf den standardmäßigen Ethereum-Anbieter.
    • Ethereum.provider ist derselbe wie Ethereum, Ethereum Getter ist weiterhin verfügbar.
    • isEthereumSupported ersetzt durch Ethereum.isSupported. Oder alternativ ethereum != null.
    • Ethereum.ethereum für den Zugriff auf exponierte Ethereum-Anbieter, d. h. MetaMask, ohne undefinierte Prüfung.
    • Ethereum.binanceChain für den Zugriff auf exponierte Binance Chain Wallet-Anbieter ohne undefinierte Prüfung.
    • Ethereum.web3 für den Zugriff auf das alte Web3-Anbieterobjekt, das bei vielen Anbietern veraltet ist.
  • Die Instanziierung der WalletConnectProvider-Klasse wurde in die Factory-Methode geändert.
    • WalletConnectProvider.fromRpc zum Instanziieren mithilfe der RPC-Karte.
    • WalletConnectProvider.fromInfura zum Instanziieren mithilfe der Infura-ID.
    • Statische WalletConnectProvider.binance zum Instanziieren mit Binance Mainnet RPC.
  • Verschiedene Konstruktoren der Web3Provider-Klasse wurden hinzugefügt.
    • Der unbenannte Web3Provider-Konstruktor bleibt unverändert.
    • Web3Provider.fromEthereum wird mithilfe der Ethereum-Instanz instanziiert.
    • Web3Provider.fromWalletConnect wird mithilfe der WalletConnectProvider-Instanz instanziiert.

Einstieg

Installieren

Um das Paket Flutter Web3 zu verwenden, verwenden Sie

|_+_|

Ethers JS und Wallet Connect Provider

Um Ethers JS und Wallet Connect Provider zu verwenden, müssen wir das Skript in das JS-Paket in web/index.html einfügen



|_+_|

Ethereum-Anbieter

Fordern Sie die Verbindung zu MetaMask oder einem anderen Anbieter auf.

|_+_|

Abonnieren Sie Ethereum-Events.

|_+_|

Andere anrufen JSON-RPC-API .

|_+_|

Äther

Basierend auf der Ether-Dokumentation auf Einstieg .

Verbindung zu Ethereum: Metamask

|_+_|

Verbindung zu Ethereum: RPC

|_+_|

Abfrage der Blockchain

|_+_|

Andere anrufen Ether-Anbieter-API .

|_+_|

Unterzeichner

Daten über Ihr Konto abfragen.

|_+_|

Senden/schreiben Sie an die Blockchain

|_+_|

Vertrag

ABI-Objekt definieren, Alle ABI-Formate können angezeigt werden hier .

|_+_|

Vertragsgegenstand initialisieren.

|_+_|

Nur-Lese-Methode.

|_+_|

Schreib-/Zustandsänderungsmethode.

|_+_|

Ereignisse anhören.

|_+_|

Historische Ereignisse abfragen

|_+_|

Alternativ können wir für ERC20 Contract die Klasse ContractERC20 verwenden.

strtok_r()
|_+_|

Wallet Connect-Anbieter

Erstellen Sie das WalletConnectProvider-Objekt.

|_+_|

Aktivieren Sie die Sitzung, schalten Sie QRCode Modal um.

|_+_|

Verwendung in Ethers Web3Provider.

|_+_|

Verwenden Sie dieses Paket als Bibliothek

Hängt davon ab

Führen Sie diesen Befehl aus:

Mit Flattern:

|_+_|

Dadurch wird eine Zeile wie diese zur pubspec.yaml Ihres Pakets hinzugefügt (und ein implizites Dart-Pub-Get ausgeführt):

|_+_|

Alternativ unterstützt Ihr Editor möglicherweise Flutter Pub Get. Weitere Informationen finden Sie in der Dokumentation Ihres Editors.

Importieren Sie es

Jetzt können Sie in Ihrem Dart-Code Folgendes verwenden:

|_+_|

example/lib/main.dart

|_+_|

github.com

Web3 Ethereum, Etherjs und Wallet Connect Wrapper für Flutter Web

flutter_web3 .flutter_web3 v2 ist eine vollständige Dart-Klasse und ein Funktions-Wrapper für Ethereum-Objekte vom Anbieter, d. h. MetaMask. Ether.js-Paket