browser library

Support for using web3dart with browser clients such as MetaMask.

Example

import 'dart:convert';
import 'dart:html';
import 'dart:typed_data';

import 'package:web3dart_macaron/browser.dart';
import 'package:web3dart_macaron/web3dart.dart';

Future<void> main() async {
  final eth = window.ethereum;
  if (eth == null) {
    print('MetaMask is not available');
    return;
  }

  final client = Web3Client.custom(eth.asRpcService());
  final credentials = await eth.requestAccount();

  print('Using ${credentials.address}');
  print('Client is listening: ${await client.isListeningForNetwork()}');

  final message = Uint8List.fromList(utf8.encode('Hello from web3dart'));
  final signature = await credentials.signPersonalMessage(message);
  print('Signature: ${base64.encode(signature)}');
}

Extensions

DartBinanceChain on BinanceChainWallet
This extension provides Dart methods around the raw BinanceChain JavaScript object.
DartEthereum on Ethereum
This extension provides Dart methods around the raw Ethereum JavaScript object.
DartOkxWallet on OkxWallet
This extension provides Dart methods around the raw OkxWallet JavaScript object.
GetBinanceChain on Window
Extension to load obtain the BinanceChain window property injected by BinanceChain browser plugins.
GetEthereum on Window
Extension to load obtain the ethereum window property injected by Ethereum browser plugins.
GetOkxWallet on Window
Extension to load obtain the okxwallet window property injected by OkxWallet browser plugins.