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