[NodeJS] API 사용 법 12편 Steem enjin API 사용해보기 (자동 파워업!)
안녕하세요 ayogom 입니다.
어제에 이어서 오늘도 steem enjin api에 대한 이야기입니다. 어제까지 설치를 진행했고, 간단한 api를 사용하여 특정 토큰의 잔고를 확인했습니다. 확인 했다면 이제 파워업을 해야죠!
어제의 코드를 이어서 한번 보겠습니다.
const SSC = require('sscjs');
const ssc = new SSC('https://api.steem-engine.net/rpc/');
var steem = require('steem')
ssc.find(
'tokens', //contract name
'balances', //table name
{
'symbol':'SCT',
'account': 'ayogom'
}, //query to perform on the table
0, //limit the number of records to retrieve
0, //offset applied to the records set
[], //array of index definitions { index: string, descending: boolean }
(err, results) => { //callback
console.log(err, results);
});
파워업을 해야 하니깐 제 계정으로 변경합니다.
바로 여기에서 balance가 현재 보유량입니다. 추출 해보도록 하겠습니다.
const SSC = require('sscjs');
const ssc = new SSC('https://api.steem-engine.net/rpc/');
var steem = require('steem')
ssc.find(
'tokens', //contract name
'balances', //table name
{
'symbol':'SCT',
'account': 'ayogom'
}, //query to perform on the table
0, //limit the number of records to retrieve
0, //offset applied to the records set
[], //array of index definitions { index: string, descending: boolean }
(err, results) => { //callback
console.log(err, results);
let arr = results;
console.log(arr[0].balance);
if (arr[0].balance > 0){
console.log("SCT가 0개 이상 가지고 있습니다.")
}
});
눈치 채셨나요? 일단 결과값을 배열(arr)에 집어 넣습니다. 배열에 넣어야 코드짜기가 편해지거든요
그리고 해당 배열에서 balance를 추출 합니다. 그리고 해당 값이 0 이상이면 comment 가 출력 되도록 하였습니다.
현재 저는 SCT를 약 38.265개를 가지고 있기 때문에 0 이상으로 comment 가 출력이 되었습니다.
그럼 이제 저 코멘트 대신 파워업을 하면 되겠네요! 한번 해볼까요?
if (arr[0].balance > 0){
console.log("SCT가 0개 이상 가지고 있습니다.")
amount = Math.floor(arr[0].balance)
var wif2 = "액티브키"
var json = JSON.stringify({"contractName":"tokens","contractAction":"stake","contractPayload":{"symbol":""+"SCT"+"","to":""+"ayogom"+"","quantity":""+amount+""}});
steem.broadcast.customJson(wif2, ['ayogom'],[], 'ssc-mainnet1', json, function(err, result) {
console.log(err,result);
});
}
해당 토큰을 0개 이상 가지고 있다면 그것을
steem.broadcast.customJson
를 통해서 스테이킹 했습니다. engin 의 api 의 경우 steem api의customJson
을 이용해서 트랜젝션이 만들어지기 때문에 실제 수량이 부족하더라도 api 포맷에 문제가 없다면 정상적으로 기록이 됩니다.
한번 코드를 풀로 봐볼까요?
const SSC = require('sscjs');
const ssc = new SSC('https://api.steem-engine.net/rpc/');
var steem = require('steem')
ssc.find(
'tokens', //contract name
'balances', //table name
{
'symbol':'SCT',
'account': 'ayogom'
}, //query to perform on the table
0, //limit the number of records to retrieve
0, //offset applied to the records set
[], //array of index definitions { index: string, descending: boolean }
(err, results) => { //callback
console.log(err, results);
let arr = results;
console.log(arr[0].balance);
if (arr[0].balance > 0){
console.log("SCT가 0개 이상 가지고 있습니다.")
amount = Math.floor(arr[0].balance)
var wif2 = "액티브키"
var json = JSON.stringify({"contractName":"tokens","contractAction":"stake","contractPayload":{"symbol":""+"SCT"+"","to":""+"ayogom"+"","quantity":""+amount+""}});
steem.broadcast.customJson(wif2, ['ayogom'],[], 'ssc-mainnet1', json, function(err, result) {
console.log(err,result);
});
}
});
이 코드에 지난 시간에 [NodeJS] API 사용 법 6편 예약 포스팅 해보기 -3편 (매일매일 글쓰기) 에서 소개시켜드렸던 매일매일 글쓰는 비법을 쓴다면 매일매일 자동으로 스테이킹을 할 수 있게 됩니다.
어떠신가요? 쉽죠? 밥 아저씨와 다르게 제 설명은 쉬운것 같습니다...
작성 예정인 글 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편) -설치
- 증인 노드 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 사용해보기 (설치편)
[US$80.50](▼16%)[SONGJING]SONGJING SJ-125E 제습기 / 송징 SJ-125E 제습기 / 36평적용 / 165W 고출력 / 대용량 물탱크 / 관부가
WWW.QOO10.COMstart success go! go! go!
@banguri님이 당신을 멘션하였습니다.
https://www.steemit.com/@banguri/6-8
@ayogom transfered 9 KRWP to @krwp.burn. voting percent : 8.42%, voting power : 60.19%, steem power : 1784487.27, STU KRW : 1200.
@ayogom staking status : 825 KRWP
@ayogom limit for KRWP voting service : 1.65 KRWP (rate : 0.002)
What you sent : 9 KRWP
Refund balance : 7.35 KRWP [54444888 - c52b66e2d6da3ce53cf5454209bd2822096ca7e7]
언제나 코딩 대단하십니다.
감사합니다. 코드 잘 사용할께요.
나중에 가능하면 텔레그램 댓글 알림봇 만드는 방법을... ㅋㅋ