【问题标题】:Flutter: how to send transaction to metamask using flutter_web3 packageFlutter:如何使用 flutter_web3 包将事务发送到元掩码
【发布时间】:2023-02-19 15:36:33
【问题描述】:

我使用 flutter_web3 包将我的 flutter web 应用程序连接到 metamask,但是如何将交易发送到 metamask 以供用户付款。我尝试根据包文档编写代码,但对我不起作用。

连接到元掩码代码

import 'package:flutter/cupertino.dart';
import 'package:flutter_web3/flutter_web3.dart';

class MetaMaskProvider extends ChangeNotifier {
  static const operatingChain = 4;

  String currentAddress = '';

  int currentChain = 80001;

  bool get isEnabled => ethereum != null;

  bool get isInOperatingChain => currentChain == operatingChain;

  bool get isConnected => isEnabled && currentAddress.isNotEmpty;
  //final polygonWc = WalletConnectProvider.polygon();

  Future<void> connect() async {
    if (isEnabled) {
      final accs = await ethereum!.requestAccount();
      if (accs.isNotEmpty) currentAddress = accs.first;

      currentChain = await ethereum!.getChainId();

      notifyListeners();
    }
  }

  clear() {
    currentAddress = '';
    currentChain = 80001;
    notifyListeners();
  }

  init() {
    if (isEnabled) {
      ethereum!.onAccountsChanged((accounts) {
        clear();
      });
      ethereum!.onChainChanged((accounts) {
        clear();
      });
    }
  }
}

connect 功能将打开 metamask,用户可以选择一个帐户并批准连接,同样我如何将交易发送到 metamask。

【问题讨论】:

    标签: flutter dart blockchain metamask


    【解决方案1】:

    这里是:

     void transferUsdt(num amount) {
        ContractERC20 contractERC20 = getUsdtContractErc20();
    
        contractERC20.transfer(
          'Recipient address e.g 0x...78',
          BigInt.from(amount),
        );
      }
    
      ContractERC20 getUsdtContractErc20() {
        final contractERC20 = ContractERC20(
          '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd',
          provider!.getSigner(),
        );
        return contractERC20;
      }
    

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 2021-03-29
      • 2021-10-07
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 2020-11-01
      相关资源
      最近更新 更多