问题描述
我正在使用 web3-react@^5.0.5
从我的 React 应用程序与 web3 交互。我可以很好地连接到 Metamask。
我将库设置为 ethers.js
并连接到metmask。连接工作正常,但几乎没有 ethers.js 的方法存在。例如,useWeb3Context().library.ContractFactory
不存在。
这正常吗?
代码
根组件:
...
return (
<Web3Provider connectors={connectors} libraryName="ethers.js">
...
</Web3Provider>
);
...
connectors
对象:
const { InjectedConnector } = Connectors;
// Initially support Ropsten and Mainnet
const MetaMask = new InjectedConnector({ supportednetworks: [1,3] });
export const connectors = { MetaMask };
子组件:
function SubComponent() {
const web3 = useWeb3Context();
function connect() { /* Connect to MetaMask,works fine */ }
async function deployContract() {
// Fails:
// TypeError: web3.library.ContractFactory is not a constructor
const factory = new web3.library.ContractFactory(ABI,BINARY);
}
return (/* ... */);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)