[NodeJS] API 사용 법 8편 스팀 블럭 모니터링 하기 2편

in SteemCoinPan •  4 months ago 

안녕하세요 ayogom 입니다.
주말은 잘 쉬셨나요? 주말동안 딸아이 생일이 껴 있는 바람이 딸아이와 자발적으로.... 함께 놀아주었답니다. 언제 이렇게 컸는지 볼 때 마다 기쁘고 신기한 마음뿐입니다.

요 몇일 쉬는 바람에 Nodejs 에 대한 포스팅을 못 했는데요. 오늘 부터 다시 Nodejs를 배워보는 시간을 갖도록 하겠습니다. 참고로 어떤 분께서 개인적으로 연락을 주시면서까지 열정적으로 참여를 해주셔서 감사한 마음 뿐입니다.

지난 포스팅에서 스팀 블럭을 모니터링 하는 방법에 대해서 이야기를 했는데, 오늘은 그 2편으로 다른 방법으로 모니터링 하는 방법에 대해서 소개하고자 합니다. 지난시간에서 1가지 API로 진행을 했다면, 이번에는 2가지 API로 진행을 하게 됩니다.

첫번째는

var steem = require('steem');

steem.api.streamBlockNumber('head', function(err, result){
        console.log(err, result);
});

바로 스팀블럭의 번호를 호출하는 소스입니다. 이 내용을 수행하게 되면 아래와 같이 블럭이 갱신될때마다 알려주게 됩니다.

그리고 두번째 API는 바로 steem.api.getBlock 입니다. 이 API는 해당 블럭의 정보를 표시 해 주게 됩니다. 마치 이전 시간에 배웠던 steem.api.streamOperations 처럼요.

이걸 코드에 추가 하게 되면,

var steem = require('steem');

steem.api.streamBlockNumber('head',function(err, result){
        console.log(err, result);
        steem.api.getBlock(result ,function(err, result){
                console.log(result);
        })      
});

이러한 코드가 됩니다.
실행 시켜보겠습니다.

이렇게 되면 첫번째 streamBlockNumber에 의한 출력으로 54210720을 받게 되고 해당 블럭의 정보를 그 다음 출력되게 됩니다.

이러한 방식으로 모니터링을 하게 됩니다. 여기서 원하는 내용만 조금 추출해 보는 것까지 알려드리자면

var steem = require('steem');

steem.api.streamBlockNumber('head',function(err, result){
        console.log(err, result);
        steem.api.getBlock(result ,function(err, result){
            for (var i=0;i<result.transactions.length;i++){ 
                console.log(result.transactions[i].operations[0][0]);
            }
        })      
});

for을 통해 전체 transactions에 대한 갯수를 파악해서 해당 transactions의 옵션( 보팅인지, 글작성인지, 팔로우인지 등등)을 확인 하게 됩니다. 보팅봇이라면 글작성만 확인을 해서 원하는 저자가 나오는지 보면 되겠죠?

사실 이 코드에는 한가지 매우 불편한점이 하나 있는데요 어떻게 보면 nodejs의 특성이 묻어납니다. 내일은 이 부분에 대해서 이야기를 좀 드리겠습니다.

그럼 오늘도 이만

작성 예정인 글 List

  • Nodejs 를 이용한 스팀 API 사용해보기 (계속)
  • SCT 포스팅피 납부 방법
  • 니트로스별(SCT, ZZAN, AAA 등) 설정 확인하는 방법

누군가에게는 도움이 될 수 있는 글

스팀잇 기본 이야기

스팀잇 심화 이야기

스팀잇 보상과 연결되는 이야기

해킹과 관련된 이야기

개발과 관련된 이야기
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

[US$80.50](▼16%)[SONGJING]SONGJING SJ-125E 제습기 / 송징 SJ-125E 제습기 / 36평적용 / 165W 고출력 / 대용량 물탱크 / 관부가

WWW.QOO10.COM

start success go! go! go!

@ayogom transfered 6 KRWP to @krwp.burn. voting percent : 7.41%, voting power : 60.88%, steem power : 1779238.75, STU KRW : 1200.
@ayogom staking status : 685 KRWP
@ayogom limit for KRWP voting service : 1.37 KRWP (rate : 0.002)
What you sent : 6 KRWP
Refund balance : 4.63 KRWP [54217217 - 37cca66f3fdd7b097246dc1a5319b2f2339af699]

순수코딩은 공부 계속하면 될 것 같은데,
시스템 네트워크 쪽으로 연관하면 어렵더라구요.
공부해야겠다 생각만 하고 있네요.

This post has been featured in the latest edition of Witness Weekly...