TypeChain没有类型声明
.request
方法既不
.send
也不在
.call
方法。但是作为
TypeChain
只是类型定义、方法
.request
在运行时仍然可用。为了防止TS编译器抛出错误,您可以简单地强制转换
.send
方法to
any
:
batch.add((myContract.methods.myMethod(id).send as any).request({ from: defaultAccount });
在TypeScript中使用静态类型合约类的另一种选择是
0xweb
图书馆。
您使用以下命令生成类
0xweb install 0x.... --chain eth --name MyContract
然后批量调用read方法:
import { MyContract } from '@dequanto/eth/MyContract'
const myContract = new MyContract();
const requests = tokenIds.map(id => {
return myContract
.$config({ send: 'manual', from:'0x...'})
.myMethod(id);
});
const results = await myContract.$executeBatch(requests);