如何使用Flutter将Web3连接到以太坊网络?

时间:2019-03-28 08:40:55

标签: dart flutter ethereum web3

与以太坊节点连接时出现错误

  • 此行==> print(client.getBlockNumber());返回错误
  

E / flutter(22015):[错误:flutter / lib / ui / ui_dart_state.cc(148)]   未处理的异常:SocketException:主机查找失败:   'localhost:8545'(操作系统错误:没有与主机名相关的地址,errno   = 7)

import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:web3dart/web3dart.dart';
import 'dart:async';
const String url =
    'https://mainnet.infura.io'; // i am also running geth on local http://localhost:8545

class HomeScreen extends StatefulWidget {
    @override
    State<StatefulWidget> createState() {
        return _HomeScreenState();
    }
}

class _HomeScreenState extends State<HomeScreen> {
    @override
    void initState() {
        main();
        super.initState();
    }
    main() {
        final httpClient =new Client();
        final client =new  Web3Client(url, httpClient);
        print(client.getBlockNumber());
    }
}

1 个答案:

答案 0 :(得分:-1)

在本地以太坊区块链网络上进行某些开发时,通常会使用Localhost上的

端口8545。在这种情况下,最可能的原因是您没有在要进行注入的地方运行诸如Ganache之类的Client或Wallet服务。 Ganache创建了一个本地钱包,并为您提供了10个开发Eth Address。您可以在您的应用程序中使用它。您的RPC端口是8545。