[NodeJS] API 사용 법 8편 스팀 블럭 모니터링 하기 2편
안녕하세요 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 등) 설정 확인하는 방법
누군가에게는 도움이 될 수 있는 글
스팀잇 기본 이야기
- 복잡한 키&패스워드는 그만 손쉬운 로그인 키체인의 사용법
- 계정 옆의 숫자 평판? "reputation" 이란
- [요청] 스팀엔진 사용방법
- 스팀잇 내부 거래 사이트, 마켓
- 오랜만에 스팀잇에 돌아왔더니 로그인이 안됩니다 (Logging in with non-posting key)
- 스팀잇에 기존 사용하던 트론 지갑을 연결하는 방법
- 스팀 체인의 패스워드 / 키의 역활
- [요청] 스팀엔진 Explorer 가 접속이 되지 않아요
- Steemit의 태그 사용법과 커뮤니티스 사용법
- Steemit 프로필 변경 방법
- 스팀파워 임대가 안된다 왜?
- 스팀잇 계정 만들기
- 스팀잇 저장 보상의 종류와 뭐가 좋을지
- 스팀잇 속닥속닥 비밀 메모 사용하기!
- 스팀/스달 입금, 출금 그리고 업비트 이용방법
- 갑자기 steemit 사이트가 접속이 안된다면?
- 스팀잇 내에 붉은 글씨 사용법
- Steem체인의 또하나의 커뮤니티 "zzan"
- Steem체인의 또하나의 커뮤니티 "sct"
- 스팀잇 지갑에 접속이 되지 않을 때
- 스팀잇 글 작성 문법 [마크다운편]
- 스팀잇 글 작성 문법 [HTML]
- 스팀잇 가독성 및 작성을 편하게 해주는 "Steemit.com Enhancer" 툴
스팀잇 심화 이야기
- 스팀의 인플레이션에 대해서
- 하루에 스팀 리워드 풀에 포함되는 스팀은 얼마나 될까?
- 하루에 도대체 어느정도의 스팀은 생성될까요?
- 내가 보팅 했더니 보상이 떨어졌다? 왜?
- 스팀달러가 1달러를 유지하는 방법
- 글이 써지지 않아요 왜? Resource Credits!? Your transaction failed to process
- 스팀잇 에서의 $ 는 USD(미국달러) 인가요?
- 스팀은 DPOS 기반의 블록체인입니다. 그럼 DPOS가 뭔가요?
- 증인에 역활은 무엇일까
- 스팀 증인 노드 세팅하기 1탄
- 스팀 증인 노드 세팅하기 2탄
- Steem Node 정리 (Full node 1편)
- Steem Node 정리 (Full node 2편) -설치
- 증인 노드 feed price 업데이트 방법
[US$80.50](▼16%)[SONGJING]SONGJING SJ-125E 제습기 / 송징 SJ-125E 제습기 / 36평적용 / 165W 고출력 / 대용량 물탱크 / 관부가
WWW.QOO10.COMstart 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...