根据 ethers.js 的 official docs,这应该是如何使用自定义数据连接到像 Rinkeby-testnet 这样的特定网络的方式:< /p>
const provider = ethers.getDefaultProvider(network, {
etherscan: ETHERSCAN_API_KEY,
infura: INFURA_API_KEY,
此外,这将是获得签名者以签署交易的方式:
const signer = provider.getSigner()
但是,现在默认提供程序上有可用的方法“getSigner”。
<块引用>TypeError: provider.getSigner 不是函数
如何使用 ethers.js 实现这一点?
答案 0 :(得分:1)
ethers.getDefaultProvider
似乎以某种方式损坏或过时。反而,
您应该直接连接到特定的提供程序,例如 Alchemy:
const provider = new ethers.providers.AlchemyProvider("rinkeby", apiKey)
或 Infura:
const provider = new ethers.providers.InfuraProvider("rinkeby", apiKey)
在此之后,很容易获得签名者:
const signer = provider.getSigner()
或
const walletSigner = wallet.connect(provider);
您可以阅读有关此 here 的更多信息。