간단한 EOS API를 소개합니다.

in #kr6 years ago

안녕하세요.

지금 런칭한 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")

하시면 됩니다..

그러면 여기서 궁금한 것..은

tokencode가 무엇지? 어떻게 알 수 있는지 입니다.

https://github.com/eoscafe/eos-airdrops
에 가시면 각 토큰 심볼별로contract name을 알 수 있고, contract name을 tokencode자리에 넣어 주시면면 됩니다.

EOSJS란?


https://www.npmjs.com/package/eosjs 에서 받으실수 있는 node.js 라이브러리 입니다. 이걸 통해서 모든 지갑과 체관련 일들을 할수 있고, 오늘은 토큰 잔고 조회를 해보았습니다.

사용은 transaction쓰기와 혹은 읽기 전용인것에 따라서 달라지고, 토큰 잔고를 조회하는 것은 읽기 전용이 때문에 다음과 같이 쓰시면 됩니다.

EosApi = require('eosjs-api')
eosconfig = {
 httpEndpoint: "https://mainnet.eoscalgary.io"
}

eos = EosApi(eosconfig)

여기에 httpEndpoint 는 다른 알려진 BP의 것으로 바꾸어 사용할 수 있습니다.

마지막 노하우..


사실 토큰이 한개는 아니고, 대부분 여러개이기 때문에 아래와 같이 promise를 써서 조회하게 됩니다.

 let [addBalance, dacBalance, cetBalance, ednaBalance, horusBalance,eoxBalance, evrBalance, esbBalance, atdBalance,
      octBalance, iqBalance, pglBalance, poorBalance, chlBalance, ridlBalance] = 
     await Promise.all(

실제 이 코드가 반영된 토큰 기능은 여기서 확인해 보실수 있습니다.

https://t.me/EOSAlarmBot

오늘도 즐거운 하루 되시고, 더운 날씨에 온열질환 조심하세요!

Sort:  

Congratulations @dabble! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

You made your First Comment
Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - The results, the winners and the prizes

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.029
BTC 77070.53
ETH 3124.52
USDT 1.00
SBD 2.64