我正在构建一个引导的web3项目来访问智能契约函数;指南有时使用web3modal和钱包。下面的代码使用web3modal调用薄荷ERC721令牌的函数。
const web3modal = new Web3Modal();
const connection = await web3modal.connect();
const provider = new ethers.providers.Web3Provider(connection);
const signer = provider.getSigner();
const mintNftcontract = new ethers.Contract(hhMintNftContract, MintNFTABI, signer);
let mintNfttransaction = await mintNftcontract.mintNftToSell(url);但是,下面的代码使用钱包调用同一个智能契约的函数来获取造币ERC721令牌。
const provider = new ethers.providers.JsonRpcProvider(hhRpc);
const wallet = new ethers.Wallet(hhPriKey, provider);
const ImagicaMarketContract = new ethers.Contract(hhImagicaMarketContract, ImagicaMarketABI, wallet);
const mintNFTContract = new ethers.Contract(hhMintNftContract, MintNFTABI, wallet);
const listedNFTData = await ImagicaMarketContract.getAvailableNFT();那么,在这个项目中有什么具体的原因吗?我可以找到的一种模式是,在Blockchain上写入数据的函数使用web3modal,当从Blockchain读取数据时,使用钱包。但这只是我的猜测。
因此,如果有人能帮助我理解为什么以及何时我们应该使用web3modal或钱包来访问智能契约函数,这将是一个很大的帮助。(请:)
https://ethereum.stackexchange.com/questions/137194
复制相似问题