reactjs - React.js 未连接到 EC2 上的 (localhost) Ganache:ERR_CONNECTION_REFUSED 127.0.0.1:8545
问题描述
在 Ubuntu Server 20.04 上使用以下安装:
sudo apt-get update
sudo apt-get install nodejs
sudo apt install python2
sudo apt install npm
npm install ganache-cli
npm install node-gyp@3.6.2
npm install truffle@5.1.39
sudo npm install create-react-app@3.3.1 -global
npm install
我遇到错误无法加载资源:net::ERR_CONNECTION_REFUSED 127.0.0.1:8545/:1
我正在使用命令行界面运行 ganache:
我可以通过节点命令提示符测试连接
然后我在 React 中尝试 App.js
我尝试了以下方法:
1.) Setting up a proxy under package.json : http://127.0.0.1:8545
2.) Trying http://0.0.0.0:8545
3.) Setting up a middleware proxy account as presented in the following solution:
https://medium.com/bb-tutorials-and-thoughts/react-how-to-proxy-to-backend-server-5588a9e0347
"proxy": "http://127.0.0.1:8545"
4.) addressing cache related issues through rm -r package-lock.json node_modules and npm install updating react.js to latest version
5.) trying different port: 7545
6.) updating react to latest version on ubuntu
解决方案
我想通了 - 感谢所有审查我的问题的人。- 希望这会对处于相同情况的人有所帮助。要使用 React.js / blockchain dapp 连接到 ec2 实例,您需要遵循五个步骤: 1.) 设置适当的安全规则(您需要允许实例访问您的服务器)自由时尚,因为这只是一个测试:
- 您需要使用指定的显式chainId 和对您的公共域IPv4 DNS 域的直接引用来启动ganache,例如( http://ec2-54-186-149-26.us-west-2.compute.amazonaws.com)
3.) 需要在元掩码中指定相同的域助记符(以及从您的 ganache 服务器导入的帐户)它应该如下所示:
4.) React.js 还需要直接从 EC2 访问域(不要使用 localhost ,即使你在服务器上运行,环回也不起作用! - 也不要使用带有或(||)条件的快捷方式也为我产生了错误)。它应该如下所示:
5.) 你的智能合约也需要明确指定这个域 - 所以你还需要编辑你的 truffle-config.js 如下:
最后,我可以通过 EC2 在测试网络(ganache)上通过 React.js 读取我的区块链。以下是显示在屏幕上的区块链数据。
我希望这对那里的人有所帮助-这不容易找到。关于约翰 D。
推荐阅读
- postgresql - 该链接是下载 PGSQL 不再工作
- javascript - 点击事件后引导切换不起作用
- javascript - Chrome DevTools 协议获取域。拦截图像请求
- r - 如何根据列中给出的对象名称和代码创建新列
- wordpress - WordPress 是否能够在搜索中处理搜索?(汽车零件)
- angular - 我想显示产品列表
- python - 很奇怪的字节串。无法使用 Python 转换为 str
- python-3.x - 试图从嵌套列表理解中获取非嵌套列表
- python - 从列表列表中创建一个列表,对 enumerate 方法创建的每个列表使用相同的重复索引号
- r - 我尝试在 R 中读取 tsv 文件,但它会引发有关元素不匹配的错误