错误:无效的 Json RPC 响应:“无法连接 127.0.0.1:7545”| Web3js |反应原生|移动的

Posted

技术标签:

【中文标题】错误:无效的 Json RPC 响应:“无法连接 127.0.0.1:7545”| Web3js |反应原生|移动的【英文标题】:Error: Invalid Json RPC response :"Failed to connect 127.0.0.1:7545" | Web3js |React native| Mobile 【发布时间】: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。

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

任何帮助将不胜感激。

【问题讨论】:

【参考方案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');

这是 *** 问题的link

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

【讨论】:

谢谢。实际使用本地ip(即192.168.0.100)地址即可解决问题。 这很好,但如果你在使用 DHCP 的路由器后面,那么 IP 可能会不断变化。

以上是关于错误:无效的 Json RPC 响应:“无法连接 127.0.0.1:7545”| Web3js |反应原生|移动的的主要内容,如果未能解决你的问题,请参考以下文章

未处理的拒绝错误:无效的 JSON RPC 响应:“”

Android Json RPC 到 pysjonrpc 抛出无效的 JSON 响应

如果包含西里尔符号,Json RPC 返回错误响应

npm 安装失败,npm 错误!无效的 json 响应

Angular JSON-RPC:处理错误

Hadoop 3.3.0:RPC 响应的长度无效