gpt4 book ai didi

ethereum - Web3.providers.HttpProvider (""有什么用)

转载 作者:行者123 更新时间:2023-12-04 15:06:57 24 4
gpt4 key购买 nike

我想使用 web3js 与智能合约进行交互。每个示例都将从以下开始

var Web3 = require('web3');
var web3 = new Web3('http://localhost:8545');
// or
var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
我不明白 Web3.providers.HttpProvider('Address') 的用法。
我的猜测:因此,在建立专用网络时,每个节点都应该提供一个不同的 rpcport 来标识它,以便它连接到网络。我错了吗?
例如,上面的代码用于网站的前端,以便连接前端并在以太坊专用网络中部署合约。所以前端代码必须是通用的,这意味着它不应该在其代码中添加特定的以太坊节点地址。那么Web3.providers.HttpProvider('Address')有什么用呢?

最佳答案

它与使用私有(private)区 block 链与公共(public)区 block 链无关。

您需要为您的客户提供一种连接到区 block 链的方法。具体来说,web3js 库需要 Provider包含连接协议(protocol)和要连接的节点的地址/端口的对象。

Web3js 支持 3 different providers : HttpProvider , WebsocketProvider , 和 IpcProvider . HTTP 和 WS 都需要节点的地址(IPC 使用文件)。如果您在客户端上运行对等节点(即,使用 Parity 或 Geth),地址本身将是 localhost。如果您使用像 Infura 这样的集中式提供商,您可以使用 https://mainnet.infura.io/API_KEY .

关于ethereum - Web3.providers.HttpProvider (""有什么用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com