[英]How to connect ethers.js library with Rinkeby programmatically?
根据ethers.js的官方文档,这应该是如何使用自定义数据连接到特定网络(如Rinkeby -testnet)的方式:
const provider = ethers.getDefaultProvider(network, {
etherscan: ETHERSCAN_API_KEY,
infura: INFURA_API_KEY,
此外,这将是获取签名者以签署交易的方式:
const signer = provider.getSigner()
但是,现在默认提供程序上提供了方法“getSigner”。
类型错误:provider.getSigner 不是 function
如何使用 ethers.js 来实现?
InfuraProvider 的 getSigner() 不起作用,请使用以下命令:
const infuraProvider = new ethers.providers.InfuraProvider(network, API_KEY);
const wallet = new ethers.Wallet(privateKey, infuraProvider);
const signer = wallet.connect(infuraProvider);
contract = new ethers.Contract(smartContractAddress, abi, signer);
ethers.getDefaultProvider
似乎以某种方式损坏或过时。 相反,您应该直接连接到特定的 Provider,例如 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);
您可以在此处阅读有关此内容的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.