[kr-dev] steem.js를 이용하여 자동으로 보상받기 (claim rewards)

minari(63)
Published in
#kr
Words
194
Reading
1 min
Listen
Play
9y

steem.js로 보상을 자동으로 받게 할 수 없을까 찾아본지 한 달여 만에 아래의 페이지에서 해당 기능을 찾았습니다.

https://steemkr.com/steemdev/@klye/rewardo-steem-bot-v0-0-1-open-source-nodejs-auto-reward-claim-script

아직까지는 vest나 rshare와 같은 개념이 명확하지 않아 코드들은 다 이해하기는 힘드네요. 언제 백서를 한번 읽어야 할까봐요 ㅎㅎ

구체적인 소스코드의 해석은 위 링크를 참조하시면 될 것 같고, 핵심적인 부분만 추리면 아래와 같습니다.


steem.api.getAccounts([account], function(err, response){
    //if it errors
    if(err){console.log("ERROR: Something Went Wrong Grabbing @" + account +"'s Account Info!");}
    //if it works
    if(response){
      // capture output into a variable
      rewardvests = response[0];
      rv = rewardvests["reward_vesting_balance"];
      rvnum = parseFloat(rv);
      rs = rewardvests["reward_vesting_steem"];
      rd = rewardvests["reward_sbd_balance"];
      console.log("Pending Rewards: " + rd + " / " + rs + " / " + rv);
        if (rvnum > 0){
          console.log("Pending Rewards Found! Claiming Now!");
          steem.broadcast.claimRewardBalance(wif, account,'0.000 STEEM', '0.000 SBD', rv, function(err, result) {
            if(err){
              console.log("ERROR Claiming Rewards! :(");
              console.log(err);
            }
            if(result){
              console.log("Woot! Rewards Claimed!");
            }//END if(result)
          });//END steem.broadcast.claimRewardBalance
        }//END if (rvnum > 0)
    }//END if(response)
  });//END steem.api.getAccounts

지금까지는 스팀잇하면서 괜히 한번씩 wallet메뉴에 들어가보곤 했는데 이제 번거로운(?) 수작업 하나가 줄었네요. ^^

제가 올린 node.js로 steem.js 활용하기 강좌의 아래 편을 참고하시면 하루에 1,2회 보상을 받는 코드를 짜실 수 있을거에요~

[node.js 스팀봇 강좌] #11. 항상 실행되는 프로그램 만들기
[node.js 스팀봇 강좌] #12. 비정상 종료 프로그램 재실행시키기

[kr-dev] steem.js를 이용하여 자동으로 보상받기 (claim rewards) | Ecency