6

web3-react@^5.0.5反応アプリからweb3とやり取りするために使用しています。メタマスクに問題なく接続できます。

ライブラリをethers.jsmetmaskに設定して接続しました。接続はうまくいきましたが、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 (/* ... */);
}
4

0 に答える 0