【发布时间】:2021-08-11 20:10:22
【问题描述】:
一份合约由许多具有不同余额的代币组成。我正在使用 API 来获取有关数组中存在的令牌的信息。我得到的信息如下:
"token_address": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09",
"name": "Kylin Network",
"symbol": "KYL",
"decimals": "18",
"balance": "123456789"
}]
我想使用每个代币的地址来调用另一个 api 以获取代币的当前价格并将其与上述信息中的余额相乘。这是我的代码:
var add = "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82"
var tokens = [];
fetch(`https://deep-index.moralis.io/api/account/erc20/balances?chain=bsc&chain_name=mainnet&address=${add}`, {
method: 'GET',
headers: {
'X-API-KEY': 'unT7o....bgF6fVAgNW6AU',
'Accept': '*/*',
}
}).then(res => res.json()).then(json => json.map(item => {
tokens.push(item.token_address);
tokens.forEach((token) => fetch(`https://deep-index.moralis.io/api/token/ERC20/${token}/price?chain=bsc&chain_name=mainnet&providerUrl=https%3A%2F%2Fthrjqwgeodkr.usemoralis.com%3A2053%2Fserver`, {
method: 'GET',
headers: {
'X-API-KEY': 'unT7...........rZhbgF6fVAgNW6AU',
'Accept': '*/*',
}
}).then(res => res.json()).then(data => console.log(data.usdPrice)));
}))
我正在等待一些代币的承诺。代码有问题吗?
【问题讨论】:
标签: node.js ethereum fetch-api smartcontracts