区块链发展越来越好,nft已经火了很久,今天写一下如何用js、web3js、调用合约,实现mint nft。
简单的调用:
//引入一些依赖 (根据需要,有一些是其他功能的)
import useActiveWeb3React from './web3/hooks/useActiveWeb3React';
import { getNftContract } from './web3/utils/contractHelpers';
import React, { useEffect, useState } from 'react';
import { useIntl, getLocale } from 'umi';
import { Web3Provider } from '@ethersproject/providers';
import Web3 from 'web3';
import { injected } from './web3';
import { useWeb3React } from '@web3-react/core';
import { Web3ReactProvider } from '@web3-react/core';
import { setupNetwork } from './web3/wallet';
import { InjectedConnector } from '@web3-react/injected-connector';
import { default as Abi } from './web3/abi/nft.json';
import type { AbiItem } from 'web3-utils';
import BigNumber from 'bignumber.js/bignumber';
import { useCallWithGasPrice } from './web3/hooks/useCallWithGasPrice';
const spenderAddress = '合约地址';
const abiType = (abi: unknown): AbiItem => abi as AbiItem;//abi文件
const contract = new web3.eth.Contract(abiType(Abi), spenderAddress);
// 可以获取一些数据
const name = await contract.methods.name().call();
const symbol = await contract.methods.symbol().call();
const owner = await contract.methods.owner().call();
// const balanceOf = await contract.methods.bala