안녕하세요.
지금 런칭한 EOS main net에서 사용할수 있는 API를 소개합니다.
우선 먼저 code부터 보시겠습니다.
async function getTokenBalanceEach(account, tokenCode){
let bal = await eos.getTableRows({json : true,
code : tokenCode,
scope: account,
table: "accounts",
}).catch((err) => {
return null});;
if(bal.rows.length != 0)
return bal.rows[0].balance;
else
return null;
}
코드는 굉장히 쉽습니다. account와 tokenCode가 parameter입니다. 위의 함수는 EOSJS를 이용해서 제가 만든 함수이구요, eosjs의 사용법은 아래쪽에서 별도로 다루겠습니다. 잔고가 있으면 해당 잔고를 혹은 잔고가 전혀 조회 되지 않으면 null을 return합니다.
사용법은 이렇습니다. 예를 들어 eoscafekorea라는 EOS계정의 horus token balance를 구하고 싶다면,
getTokenBalanceEach("eoscafekorea","horustokenio")
하시면 됩니다..
그러면 여기서 궁금한 것..은
https://github.com/eoscafe/eos-airdrops
에 가시면 각 토큰 심볼별로contract name을 알 수 있고, contract name을 tokencode자리에 넣어 주시면면 됩니다.
사용은 transaction쓰기와 혹은 읽기 전용인것에 따라서 달라지고, 토큰 잔고를 조회하는 것은 읽기 전용이 때문에 다음과 같이 쓰시면 됩니다.
EosApi = require('eosjs-api')
eosconfig = {
httpEndpoint: "https://mainnet.eoscalgary.io"
}
eos = EosApi(eosconfig)
여기에 httpEndpoint 는 다른 알려진 BP의 것으로 바꾸어 사용할 수 있습니다.
let [addBalance, dacBalance, cetBalance, ednaBalance, horusBalance,eoxBalance, evrBalance, esbBalance, atdBalance,
octBalance, iqBalance, pglBalance, poorBalance, chlBalance, ridlBalance] =
await Promise.all(
실제 이 코드가 반영된 토큰 기능은 여기서 확인해 보실수 있습니다.
오늘도 즐거운 하루 되시고, 더운 날씨에 온열질환 조심하세요!