【问题标题】:Error: Invalid Json RPC response :"Failed to connect 127.0.0.1:7545" | Web3js |React native| Mobile错误:无效的 Json RPC 响应:“无法连接 127.0.0.1:7545”| Web3js |反应原生|移动的
【发布时间】:2020-09-29 08:25:59
【问题描述】:

我正在尝试使用 React Native(Android 模拟器)连接到 Ganache-GUI。这是我的代码:

const Web3 = require('web3');

const HDWalletProvider = require('truffle-hdwallet-provider');

const mnemonic =
  'gorilla color farm divert finish swim naive profit birth build scrub various'; // 12 word mnemonic

const provider = new HDWalletProvider(mnemonic, 'http://127.0.0.1:7545');

但我收到以下错误:

错误:无效的 Json RPC 响应:“无法连接 127.0.0.1:7545”

我已经在我的项目中安装了 web3.js 和 trufflehdwallet。

我还错过了什么其他步骤?我需要更改我的安卓模拟器的端口号和主机设置吗?

任何帮助将不胜感激。

【问题讨论】:

    标签: react-native mobile web3js ganache


    【解决方案1】:

    IP 127.0.0.1 是主机的环回,在您的情况下是模拟器。由于 Ganache 在模拟器之外运行,HDWalletProvider 可能无法访问它。我不是 Android 开发者,但谷歌搜索告诉我你必须使用 IP 10.0.2.2 从模拟器访问主机。

    const provider = new HDWalletProvider(mnemonic, 'http://10.0.2.2:7545');
    

    这是 StackOverflow 问题的link

    另外,truffle-hdwallet-provider 包似乎已被弃用,您应该使用较新的 @truffle/hdwallet-provider 包。

    【讨论】:

    • 谢谢。实际使用本地ip(即192.168.0.100)地址即可解决问题。
    • 这很好,但如果你在使用 DHCP 的路由器后面,那么 IP 可能会不断变化。
    猜你喜欢
    • 1970-01-01
    • 2018-06-21
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多