div#pop_ad { opacity: 0; }

npm init -y
npm install -S @studydefi/money-legos ethers ethers-multicall2、multicall对比测试:导入NPM依赖包
const { ethers } = require( ethers const { ALCHEMY_URL } = require( ./config )const compound = require( @ studydefi/money-legos/compound const { accounts } = require( ./accounts const { Contract, Provider } = require( ethers-multicall const provider = new ethers.providers.JsonRpcProvider(ALCHEMY_URL);const calculateTime = async () = { const startDate = new Date(); const result = await getLiquidity() const endDate = new Date(); const milliseconds = (endDate.getTime() - startDate.getTime()); console.log(`Time to process in milliseconds: $ {milliseconds}`) console.log(`Time to process in seconds: $ {milliseconds / 1000}`) const callsCount = Object.keys(result).length; console.log(`Number of entries in the result: $ {callsCount}`);}3、multicall对比测试:传统方式循环调用合约const getLiquidity = () = { const compoundContract = new ethers.Contract( compound.comptroller.address, compound.comptroller.abi, provider ) return Promise.all(accounts.map(account = { let data try { data = compoundContract.getAccountLiquidity(account.id) } catch (error) { console.log(`Error getting the data $ {error}`) } return data }))}const getLiquidity = async () = { const ethcallProvider = new Provider(provider); await ethcallProvider.init(); const compoundContract = new Contract( compound.comptroller.address, compound.comptroller.abi, ) const contractCalls = accounts.map(account = compoundContract.getAccountLiquidity(account.id)) const results = await ethcallProvider.all(contractCalls); return results}
添加新手交流群:币种分析、每日早晚盘分析
添加助理微信,一对一亲自指导:YoYo8abc