首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何与后端/web服务器上的公共Ethereum连接?

如何与后端/web服务器上的公共Ethereum连接?
EN

Ethereum用户
提问于 2019-05-16 09:35:17
回答 2查看 2.4K关注 0票数 2

在Web应用程序的后端,我必须与公共的通信。

在本地开发机器上,我以testrpc的形式运行ganache并连接到这样一行代码:

代码语言:javascript
运行
复制
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

我还发现,我可以使用以下方法开发针对的程序:

代码语言:javascript
运行
复制
web3 = new Web3(new Web3.providers.HttpProvider("https://rinkeby.infura.io/$thisistheapikey"));

但我如何才能与真正的公共连锁公司沟通呢?我需要在网络服务器上运行geth并连接到它的实例吗?或者是否有可用的公共网络可以使用(如果我们可以信任它)?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2019-05-16 10:06:30

嗯,Rinkeby是一个公开的测试网,但是把真正的Eth和真正的fiat捆绑在一起的链叫做Mainnet

你可以通过恩弗拉连接到它:

代码语言:javascript
运行
复制
web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/$thisistheapikey"));

在后端,您可以为您选择的后端语言使用Web3库的实现。您也可以运行您自己的Mainnet节点,但是除了Web3连接字符串之外,它不会改变您的代码。

代码语言:javascript
运行
复制
web3 = new Web3(new Web3.providers.HttpProvider("http://my-mainnet-node.dev.local:8545"));

拥有您自己的geth节点的优点是可以控制您自己的环境,并且它在任何负载下都是免费的,这与恩弗拉不同。

这种方法的缺点包括必须管理您自己的节点,在一个好的服务器上托管您的节点(您将需要一个好的SSD,大容量的SSD,用于快速同步的大量RAM,以及一个处理txs并在很大负载下保持正常的处理器)。

希望能帮上忙。

票数 2
EN

Ethereum用户

发布于 2019-05-16 10:08:24

我想,所谓“真正的”区块链,指的是以太的主干网。

有几种方法可以连接到Ethereum的主干网。最简单的方法是通过因弗拉,就像你上面所说的。唯一的区别是您将从url中删除单词rinkeby。您应该使用以下方法:

代码语言:javascript
运行
复制
web3 = new Web3(new Web3.providers.HttpProvider("https://infura.io/$thisistheapikey"));

这很好,并将允许您执行所有的因弗拉允许你表演

为了不依赖于恩弗拉,你需要运行一个节点。这可以是gethparity或您选择的任何其他虚设节点。这比简单地依赖恩弗拉更难,但它将允许你完全控制你的节点交互。

另外,您也可以使用gethparity运行任何测试网,只需设置某些标志即可。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/70759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档