From bdcb136dac0f93a05f4fae38159a7d967d377f5e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 4 Sep 2024 16:49:14 +0800 Subject: [PATCH] 1 --- server/web3service/controllers/erc20.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/server/web3service/controllers/erc20.js b/server/web3service/controllers/erc20.js index a7d1b22..4635a1d 100644 --- a/server/web3service/controllers/erc20.js +++ b/server/web3service/controllers/erc20.js @@ -2,12 +2,22 @@ const app = require('j7/app'); const utils = require('j7/utils'); const Web3 = require('web3'); +let erc20abi = null; + +async function getErc20Abil() { + if (erc20abi) { + const json = utils.readJsonFromFile(jsonUrl); + erc20abi = json.abi; + } + return erc20abi; +} + async function getBalance(session) { const tokenContractAddress = session.request('token_address'); // ERC20代币合约地址 const accountAddress = session.request('account_address'); // 用户地址 const rpcUrl = session.request('rpc_url'); - const tokenContract = new web3.eth.Contract(ERC20_ABI, tokenContractAddress); + const tokenContract = new web3.eth.Contract(await getErc20Abil(), tokenContractAddress); const web3 = new Web3(rpcUrl); tokenContract.methods.balanceOf(accountAddress).call((error, balance) => {