我调用了contract.methods.ownerOf 2500次,然后我得到了MetaMask - RPC错误:无法获取。但我调用该方法大约200次,然后就没有错误了。我该如何修复该错误? (ownerOf是etherscan合约接口)
这是我的代码。
export async function list() {
const MAX_TOKEN_ID = 2500;
const web3 = new Web3(Web3.givenProvider ||'http://localhost:8080');
const contract = new web3.eth.Contract(ERC721ABI as AbiItem[], CONTRACT);
const list = new Set<number>();
let result: object;
for (let tokenId = 1; tokenId <= MAX_TOKEN_ID; tokenId++) {
const address = await contract.methods.ownerOf(tokenId).call();
list.add(address);
}
result = Array.from(list).map((item) => ({address: item}));
return result;
}