如何使用 ethers 包使用自定义节点 url 创建新的提供程序?
想做这样的事情:
const provider = new ethers.providers.Web3Provider('http://my-node.com')
在文档中here它说使用
JsonRpcProvider
而不是Web3Provider
。
// When using the JSON-RPC API, the network will be automatically detected
// Default: http://localhost:8545
let httpProvider = new ethers.providers.JsonRpcProvider();
// To connect to a custom URL:
let url = "http://something-else.com:8546";
let customHttpProvider = new ethers.providers.JsonRpcProvider(url);
// Connect over named pipes using IPC:
let path = "/var/run/parity.ipc";
let ipcProvider = new ethers.providers.IpcProvider(path);
更新ethers v6
如docs
中所示,针对提供商的
ethers.providers.*
已更新为 ethers.*
。此外,为了支持 EIP-1193,Web3Provider
的 window.ethereum
已更改为 BrowserProvider
,如下所示:
// v5
provider = new ethers.providers.Web3Provider(window.ethereum)
// v6:
provider = new ethers.BrowserProvider(window.ethereum)