안녕하세요 ayogom 입니다
여러가지로 Nodejs API에 대해서 소개를 해드리고 있습니다. 문뜩 내가 Nodejs API를 볼 수 있는 곳을 소개를 드렸었나 하는 마음이 들기에 이쯤에서 한번 다시 소개해 드립니다. Nodejs의 API를 볼 수 있는 곳은 Github가 가장 좋습니다. 바로가기
다시 본론으로 와서 오늘은 비드봇을 만들어 볼껍니다. 비드봇이 무엇이냐 보팅을 파는 서비스 입니다. 예를들면 예전에 소개해드린 Tipu의 SBD 보팅 서비스와 같습니다. SBD 혹은 STEEM을 받고 그에 해당하는 보팅을 파는 것이지요. 예전에는 해당 서비스가 많았지만 요즘은 많지 않네요.
제가 쓴글을 몇가지 조합해 보면 해당 서비스를 만들 수 있습니다.
먼저 [NodeJS] API 사용 법 14편 송금 확인해보기 과 [NodeJS] API 사용 법 15편 송금 확인해보기 2탄 에서 소개해드린 방법으로 모니터링을 하다가 SBD와 STEEM을 받게 되면 [NodeJS] API 사용 법 2편 보팅을 해볼까? 에서 쓴 것과 같이 보팅을 하는 거죠
참 쉽죠?
[NodeJS] API 사용 법 14편 송금 확인해보기 에 있는 기본 코드를 가져옵니다.
var steem = require('steem');
steem.api.streamOperations((err, result) => {
if (result[0] == "transfer"){
if((result[1].to != undefined)&&(result[1].to == "ayogom")){
console.log("From : ",result[1].from);
console.log("To : ",result[1].to);
console.log("Amount : ",result[1].amount);
console.log("Memo : ",result[1].memo);
}
}
});
메모에 포스팅을 주소를 넣게 합니다.
예를들면 https://www.steemcoinpan.com/hive-101145/@ayogom/nodejs-api-14 이 주소라면 앞에 짜르고 뒤인 @ayogom/nodejs-api-14
혹은 nodejs-api-14
도 좋습니다. 룰은 직접 정하면 되니깐요.
전 nodejs-api-14
으로 결정했습니다.
var steem = require('steem');
var wif = "5****"
steem.api.streamOperations((err, result) => {
if (result[0] == "transfer"){
if((result[1].to == "ayogom")){
console.log("From : ",result[1].from);
console.log("To : ",result[1].to);
console.log("Amount : ",result[1].amount);
console.log("Memo : ",result[1].memo);
var amount = result[1].amount;
var author = result[1].from;
var memo = result[1].memo;
var weight = 10000;
if (amount == "10.000 STEEM"){
steem.broadcast.vote(wif, "ayogom", author, memo, weight, function(err, result) {
console.log(err, result);
});
}
}
}
});
코드를 설명해 드리자면 스팀블럭을 모니터링 하다가 transfer
기록중에 받는 사람이 ayogom
이고 10스팀이 입금이되는 거래 기록이 발견이 되면, 각 정보를 저장합니다. 그리고 메모에 남겨진 주소에 보팅을 실시하게끔 짰습니다.
여기서 몇가지 유동적이게 변경될 수 있겠죠
첫번째로 얼마를 받을 것고 어느정도의 보팅을 할 것이냐 입니다.
코드가 쉽게 짜려면 그러한 가능성을 배제 해야합니다. 무조건 10스팀만 받으면 100% 보팅을 할께 라고 하면 됩니다. 하지만 사용자들이 보다 자주 많이 사용하려면 그러한 규칙보다 유동적인 규칙을 주시는게 좋습니다.
보팅파워에 대해서도 신경써줘야 하고요
하지만 너무 유동적인 부분에는 예외 코드를 짜줘야 합니다.
예를들면 10스팀이 아닌 10.1 스팀 혹은 9.9 스팀을 을 보냈으면? 환불해 드려야 겠죠? 그리고 보팅이 실패하면 재시작도 생각해봐야겠죠.
그러한 부분은 다루지 않겠습니다.. 너무 복잡하거든요 한번 고민 해보셨으면 합니다.
아참 코드 결과봐야죠
잘 보팅 했죠? 비드봇 한번 운영해보실래요 ㅎㅎ
매일 포스팅을 하는것보다 좋을 수도 있습니다.
아 이게 뭘까요?
아고라님을 위해 댓글 다시는 분들이 스파업을 얼마나 했는지 체크 해봤습니다 ㅎ
물론 아직 손봐야 할 것이 많네요
- 스팀관련해서 궁금하신 내용이 있다면 언제든 문의 주세요
작성 예정인 글 List
- Nodejs 를 이용한 스팀 API 사용해보기 (계속)
누군가에게는 도움이 될 수 있는 글
스팀잇 기본 이야기
- 복잡한 키&패스워드는 그만 손쉬운 로그인 키체인의 사용법
- 계정 옆의 숫자 평판? "reputation" 이란
- 스팀잇 내부 거래 사이트, 마켓
- 오랜만에 스팀잇에 돌아왔더니 로그인이 안됩니다 (Logging in with non-posting key)
- 스팀잇에 기존 사용하던 트론 지갑을 연결하는 방법
- 스팀 체인의 패스워드 / 키의 역활
- Steemit의 태그 사용법과 커뮤니티스 사용법
- Steemit 프로필 변경 방법
- 스팀파워 임대가 안된다 왜?
- 스팀잇 계정 만들기
- 스팀잇 저장 보상의 종류와 뭐가 좋을지
- 스팀잇 속닥속닥 비밀 메모 사용하기!
- 스팀/스달 입금, 출금 그리고 업비트 이용방법
- 갑자기 steemit 사이트가 접속이 안된다면?
- 스팀잇 내에 붉은 글씨 사용법
- 스팀잇 지갑에 접속이 되지 않을 때
- 스팀잇 글 작성 문법 [마크다운편]
- 스팀잇 글 작성 문법 [HTML]
- 스팀잇 가독성 및 작성을 편하게 해주는 "Steemit.com Enhancer" 툴
- 스팀 키 권한을 해제 해 보자
니트로스 (SCT, ZZAN 등 ) 이야기
- Steem체인의 또하나의 커뮤니티 "zzan"
- Steem체인의 또하나의 커뮤니티 "sct"
- [요청] 스팀엔진 Explorer 가 접속이 되지 않아요
- [요청] 스팀엔진 사용방법
- SCT 포스팅피 납부 확인 및 납부 방법
- 니트로스(SCT, ZZAN, AAA) 에 대한 설정 확인해보기
스팀잇 심화 이야기
- 스팀의 인플레이션에 대해서
- 하루에 스팀 리워드 풀에 포함되는 스팀은 얼마나 될까?
- 하루에 도대체 어느정도의 스팀은 생성될까요?
- 내가 보팅 했더니 보상이 떨어졌다? 왜?
- 스팀달러가 1달러를 유지하는 방법
- 글이 써지지 않아요 왜? Resource Credits!? Your transaction failed to process
- 스팀잇 에서의 $ 는 USD(미국달러) 인가요?
- 스팀은 DPOS 기반의 블록체인입니다. 그럼 DPOS가 뭔가요?
- 증인에 역활은 무엇일까
- 스팀 증인 노드 세팅하기 1탄
- 스팀 증인 노드 세팅하기 2탄
- Steem Node 정리 (Full node 1편)
- Steem Node 정리 (Full node 2편) -설치
- 최신 Full node 설치 1편
- 최신 Full node 설치 2편 Jussi 설정
- 최신 Full node 설치 3편 Jussi 설정 (Hivemind 연결) 결론 실패
- 증인 노드 feed price 업데이트 방법
스팀잇 보상과 연결되는 이야기
해킹과 관련된 이야기
개발과 관련된 이야기
- Nodejs 가 무엇인지 그리고 어떻게 설치 하는지?
- [NodeJS] API 사용 법 1편 스팀 라이브러리 설치
- [NodeJS] API 사용 법 2편 보팅을 해볼까?
- [NodeJS] API 사용 법 3편 포스팅을 해볼테다!
- [NodeJS] API 사용 법 4편 예약 포스팅 해보기
- [NodeJS] API 사용 법 5편 예약 포스팅 해보기 -2편 (포스팅 수정)
- [NodeJS] API 사용 법 6편 예약 포스팅 해보기 -3편 (매일매일 글쓰기)
- [NodeJS] API 사용 법 7편 스팀 블럭 모니터링 하기
- [NodeJS] API 사용 법 8편 스팀 블럭 모니터링 하기 2편
- [NodeJS] API 사용 법 9편 Nodejs가 가지는 불편함 (콜백지옥)
- [NodeJS] API 사용 법 10편 간단한 보팅 봇 만들기
- [NodeJS] API 사용 법 11편 Steem enjin API 사용해보기 (설치편)
- [NodeJS] API 사용 법 12편 Steem enjin API 사용해보기 (자동 파워업!)
- [NodeJS] API 사용 법 13편 송금 해보기
- [NodeJS] API 사용 법 14편 송금 확인해보기
- [NodeJS] API 사용 법 15편 송금 확인해보기 2탄
start success go! go! go!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@banguri님이 당신을 멘션하였습니다.
https://www.steemit.com/@banguri/6-18-4
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@ayogom transfered 5 KRWP to @krwp.burn. voting percent : 12.59%, voting power : 60.01%, steem power : 1790724.42, STU KRW : 1200.
@ayogom staking status : 930 KRWP
@ayogom limit for KRWP voting service : 1.86 KRWP (rate : 0.002)
What you sent : 5 KRWP
Refund balance : 3.139 KRWP [54729047 - 156f80482495296bfd4681aff51ca7b1e363b67a]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@steem-fanbase님이 당신을 멘션하였습니다.
https://www.steemit.com/@steem-fanbase/steem-fanbase-up-and-down-and-statistics-features-by-italygame-witness
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@banguri님이 당신을 멘션하였습니다.
https://www.steemit.com/@banguri/6-19-5
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit