在 web3-react 中访问 ContractFactory 代码

问题描述

我正在使用 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...