1
This commit is contained in:
parent
bdcb136dac
commit
9063ed8586
@ -1,32 +1,24 @@
|
||||
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;
|
||||
}
|
||||
const metaFactory = require('../metadata/factory');
|
||||
|
||||
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(await getErc20Abil(), tokenContractAddress);
|
||||
const web3 = new Web3(rpcUrl);
|
||||
const tokenContract = new web3.eth.Contract(metaFactory.getErc20Abil(), tokenContractAddress);
|
||||
|
||||
tokenContract.methods.balanceOf(accountAddress).call((error, balance) => {
|
||||
if (error) {
|
||||
console.error('获取余额时出错:', error);
|
||||
tokenContract.methods.balanceOf(accountAddress).call((err, balance) => {
|
||||
if (err) {
|
||||
session.rspErr(1, err);
|
||||
return;
|
||||
}
|
||||
console.log('余额:', balance);
|
||||
session.rspOk();
|
||||
session.rspData({
|
||||
'balance': balance
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ const metaClassList = [];
|
||||
const metaClasses = {};
|
||||
let web3ServiceConf = null;
|
||||
let configDir = './config/';
|
||||
let erc20abi = null;
|
||||
|
||||
function registerMetaClass(fileName, primKey, wrapClass) {
|
||||
const metaClass = {
|
||||
@ -100,6 +101,9 @@ async function init() {
|
||||
'',
|
||||
'Web3Service'
|
||||
);
|
||||
{
|
||||
erc20abi = utils.readJsonFromFile(configDir + 'erc20abi.json');
|
||||
}
|
||||
load();
|
||||
}
|
||||
|
||||
@ -137,6 +141,12 @@ function getWeb3ServiceConf() {
|
||||
return web3ServiceConf;
|
||||
}
|
||||
|
||||
function getErc20Abil() {
|
||||
if (erc20abi) {
|
||||
}
|
||||
return erc20abi.abi;
|
||||
}
|
||||
|
||||
exports.init = init;
|
||||
|
||||
exports.getMetaByKey = getMetaByKey;
|
||||
@ -144,3 +154,4 @@ exports.traverseMetaList = traverseMetaList;
|
||||
exports.callMetaStatic = callMetaStatic;
|
||||
|
||||
exports.getWeb3ServiceConf = getWeb3ServiceConf;
|
||||
exports.getErc20Abil = getErc20Abil;
|
||||
|
Loading…
x
Reference in New Issue
Block a user