자동으로 보팅하는 봇 만들어 보기 #3
어제 많은 진척이 있었다.
일단 할 일을 정리해 보자.
목표
특정 글에 업보팅한 스티미언들의 구한 후. 그 분들 blog에 가서 적절한 금액의 upvoting을 하자.
필요한 기능
- 스팀 블럭체인에 있는 데이터를 가져올 수 있어야 한다.
- upvoting과 comment를 달 수 있어야 한다.
개발 환경 구축
파이썬과 node.js를 사용하면 필요한 기능을 만들 수 있다.
steem-python 설치
3일에 걸쳐 여러 방법을 써 봤으나, 내가 사용하는 win 7 노트북에는 설치 실패
(이런 나를 측은하게 여긴 @jacobyu 님이 친철하게도 설치법을 올리셨다. 다시 한번 감사드린다.)
https://busy.org/kr-dev/@jacobyu/steem-python-python3-6-ubuntusteem-js 설치
node.js를 이용하여도 된다. Visual Studio, node.js, steem-js 한방에 설치 완료.
그래서 이번 프로젝트는 node.js를 이용한다.
개발 단계
1. 요소기술 개발하기
- 개인 계정 정보 보기 (완성)
- 특정 글 내용 보기(완성)
- 특정 글에 보팅한 스티미언 보기(완성)
- 특정 글에 원하는 %로 보팅하기(완성)
- steem API로 얻은 결과에 있는 각 데이터 항목들 사용하기(완성)
- 현재 스팀파워 얻어오기(완성)
- 증인들이 제시한 feed_price 얻어오기(완성)
- 글보상에 사용할 채굴한 스팀, 보상대기 글 총량 얻어오기(완성)
- 목표로 하는 금액을 upvote하기 위한 파워 계산하기 (~ing)
- 특정 스티미언의 최신 글 리스트 받기
- steem-js API를 통하여 볼 수 있는 정보를 프로그램으로 가공하기
( 입력 parsing을 위하여 JSON 보고 있는 중 후순위로 미룸)
(완성된 내용은 아래 글에 계속 update 예정)
https://steemit.com/kr/@tradingideas/steem-js-test
2. 특정 글과 보팅 비율을 지정하면 upvote한 스티미언에게 자동으로 보팅하기
- 주어진 글에서 해당 스티미언 찾기
- 해당 스티미언 올린 최신 글 찾아 보팅하기
. resteem한 글 제외
. 6일 이상된 글만 있으면 보팅 못함
. 본인이 이미 보팅할 글이면 다음 대상 글 찾기 - 보팅 결과 정리하여 보고서 출력하기
3. 사용하기 쉽도록 UI 입히기
- 사용자 명 입력
- POSTING KEY 입력
- upvoting 정도 입력 (금액 혹은 % 선택)
일단 목표로 하는 기능은 이 정도다.
node.js를 처음 만져보는 것이라서 언제 끝날지는 모르겠지만
천천히 개발해보자!!
오랜만에 개발하니 재미는 있는데, 자꾸만 다른 일들이 생겨서 이 일에 집중을 할 수가 없다. 덩달아 스티밋 자체도 소홀해지고...
이전 글 보기
보팅한 사람들과 보팅한 값 출력하기
steem.api.getActiveVotes(author, permlink, function (err, response) {
// console.log(err, response);
});
아무리 봐도 모든것을 구현해내는 개발자는 마술사 같네요^^
오~ 잘 보았습니다
저도 빨리 구현해 보고 싶네요.
좋은 포스팅 감사드려요.
리스팀합니다.
우와 진짜 대단하세요. 개발자들은 어떻게 이런 일을 하죠 ?ㅎㅎ 디자이너들보다 더 멋진게 프로그래머라고 생각합니다
@tradingideas 님.~ ^^; 저.. 결심했습니다.
봇만들기. 1편부터 따라 가 보겠습니다~ ^^
(예상에는 제가 좀 더뎌서 많이 느릴 것 같긴 한데..~ ^^; 많이 도와 주실꺼죠?? ^^;)
감사합니다.
앗. 이미 만들어서 사용하고 계신 것 아닌가요? 제가 많이 물어 볼려고 했는데요. 당연히 도와드려야죠.. 원하시는 기능이 있으면 미리 말씀해 주세요. 필요한 기능들 생각해 볼께요.
우와...@..@
자동보팅하게 되면 안읽고 보팅하는게 되지 않을까하는 생각이 드네요.
좀 삭막해지는 기분이 약간 드네요!
효율적이긴 한데요
보팅 진화는 끝이 없는것 같아요.
계속 다양한 방법들이 나오는 걸 보면요.
읽지 않고 보팅을 해야하는 경우가 생깁니다. 예를들어 5일이 지났는데, 0.xx 인 글 보상을 모두 1.00으로 만들어주자. 이런 공익 목적으로 사용이 가능합니다. 수 많은 글을 다 읽으면서 보팅하기는 현실적으로 어렵거든요. 실제 이런 일을 하실려는 고래 분도 계시고요.
현재 스팀파워 계산하기

저도 개발자인데 보팅 봇이라니~ 재미있네요!
함께 하시죠. node.js가 처음이라 한줄 코딩하는데 시간이 엄청 걸립니다. ㅎ