【发布时间】: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