Steem Balance Management

in #kr7 years ago

안녕하세요. 투루노(trueonot)입니다.

어제는 현질을 한 뜻깊은 날이었습니다. ^^; 젊었을때 도데체 왜 게임을 돈 주고 하는지.(크랙을 당나귀나 이런데서 다운받아서 하고 그랬습니다.) 이해하지 못했던 시절이 있었습니다.
enter image description here
[문명3]
enter image description here
[HOMM2]
(절대 위의 게임들을 크랙해서 했다는 얘기는 아닙니다.)

그리고 시대는 바뀌어 온라인 게임이 대세가 되었지요. 저도 나이를 먹고.. 젊었을때 만큼 게임에 시간을 쓰지 못하게 됩니다. 그래도 가끔 게임을 하게 됩니다. 한참의 시간이 지나 와우가 70렙 봉인이 풀렸을때쯤 저도 WOW를 해보게 됩니다. 그리고... 첫 현질을 해보죠. 첫경험이 어렵지... 한번 해보면 쉽습니다. ^^;

현질은 나이먹고 돈많은 노인네(당시 저 포함)들이 젊고 시간 많은(저 위의 저) 플레이어의 시간을 돈을 주고 사는 거구나 라고 이해하게 됩니다. 뭐 가끔 필요할때 종종 현질템을 구매합니다. 그러다 내가 게임을 하는 건지... 게임에 봉사를 하는건지 라는 생각이 들어 게임을 점점 줄여갑니다.

아, 또 삼첨포~~ ^^;

신기술은 웬만하면 다 참견은 해보려고 합니다. ;) 얼리 어답터는 아닌데 궁금해요. 그래서 비트코인도 비교적 초창기에 해봤구요.. 이젠 스팀을 해봅니다. 아주 신 문물의 최첨단에서 써보고 그러진 않아도 fast follower 정도는 되보려고 합니다.

전 남들보다 늦었으니 남들보다 투자한 시간이 적었으니 현질을 합니다. 어제 일부 가용한 자산을 스팀파워로 전환했고 또 좀 더 투자할 계획입니다.

네, 이젠 투자지요. 게임도 재밌어서 한거고 스팀도 재밌으니 하는 겁니다. 그리고 빠른 레벨업을 위해 투자를 했으니 관리를 해야죠. 어제 본격적으로 투자를 하니 관리를 하기 위한 시트를 만들었습니다.
image.png

제 예전 글(https://steemit.com/kr/@trueonot/59zgb)에서 쓴대로 @mmair님의 글(https://steemit.com/bitcoin/@mmair/3qdcgp)을 통해 터득한 구글 시트에서 JSON을 가져오는 스크립트 이용법을 통해 Steem을 자산 관리 목록에 추가합니다. 근데, 이 스팀이란게 웃긴게... 제 자산이 모두에게 공개가 됩니다. ^^;

다른 자산, 주식, 코인들은 어차피 제 개인 내역이고 공개키/비밀키 등이 있어 공유가 불가능한데, 스팀은 그런거 없거든요. 포스팅/보팅/이체만 안하면 로그인도 필요없는 REST API로 다 해결이 됩니다.

그래서 제가 만든 시트를 아래와 같이 공유합니다.
https://docs.google.com/spreadsheets/d/1livIxHzcMz8APBByVMUIbHy73aDJ37c2ZbCvCqPyevI/edit?usp=sharing

어젯밤에 만든거라 아직 많은 기능은 없습니다만. 핵심은 기본 data는 Steem Data라는 시트에 JSON으로 가져오고 이를 Steem 시트에 다시 가져와서 날자별로 업데이트(값을 복사하여 붙여넣기)로 관리하는 방식입니다.
image.png

사용자가 할일은 Steem Data의 User ID 부분만 본인의 아이디로 변경하시면 됩니다. 사용된 JSON 스크립트는 @mmair님이 사용하신것의 업그레이드 버전입니다. post로 data를 주고 받는 경우를 위한 부분이 추가된 것인데.. 이는 코인거래소용으로 필요한 것으로 이글에서처럼 get방식만 사용하게 되면 @mmair님 버전을 쓰셔도 됩니다.
image.png

제가 추가한 스크립트는 아래의 코드로 기본 골격은 같습니다.

function getSteemState(account, query, x)
{
  var RequestUrl = "https://api.steemjs.com/get_state?";
  var fetchOptions =
      {
        "method":"get",
        'muteHttpExceptions': true,
        'contentType': "application/json",
        'Accept': "application/json"
      }
  var string = "path=%2F%40" + account;
  var data = ImportJSONAdvanced(RequestUrl + string, fetchOptions, query, "", includeXPath_, defaultTransform_);
  Logger.log(data);
  return data;
}

function getSteemAccount(account, query, x)
{
  var RequestUrl = "https://api.steemjs.com/get_accounts?";
  var fetchOptions =
      {
        "method":"get",
        'muteHttpExceptions': true,
        'contentType': "application/json",
        'Accept': "application/json"
      }
  var string = "names[]=%5B%22"+account+"%22%5D";
  var data = ImportJSONAdvanced(RequestUrl + string, fetchOptions, query, "", includeXPath_, defaultTransform_);
  Logger.log(data);
  return data;
}

getSteemAccount로 Steem과 SBD 정보등을 가져올 수 있는데, Steem Power는 정보가 없더군요 검색해보니 다음의 공식으로 계산됩니다.

total_vesting_fund_steem * (user's vesting_shares / total_vesting_shares)

image.png

이중 total_* 정보를 가져오기 위해, getSteemState 가 사용됩니다. 일반 user의 정보를 통해서도 가져올 수 있으나, 그 경우, 너무 data가 많아 Null 로 가져오도록 구성되어 있습니다. 0번 ID가 호출됩니다.

그렇게 계산된 Back Data가 Steem 시트 최상단에 표시됩니다. Update 버튼을 누르면 A3번 셀의 램덤값에 의해 JSON Query가 재실행되며, 최신값이 반영됩니다.
image.png

function UpdateQuery()
{
  SpreadsheetApp.getActiveSheet().getRange('A3').setValue(parseInt( Math.random()*1000 ));
}

image.png

// STEEM/SBD 가격은 bittrex의 가격 기준입니다. 현시세와 차이가 있을 수 있습니다.
// USD 가격은 fixer.io 입니다. 역시 현시세와 차이가 있을 수 있습니다.

그럼 이 최신값을 아래 표에 추가함으로서 날자별 현재 자신의 스팀 자산 가치를 모니터링 하실 수 있습니다.

이 하단 표에 들어간 수식은 일반적인 엑셀 수식이니 입맛에 맞게 편집하셔서 사용하시면 될 것 같습니다.

한줄요약(한줄은 아니지만)

  1. Steem Data 시트에 자신의 ID를 넣는다.
  2. Steem 시트의 최상단 데이터를 하단의 표에 복사하여 "값만 붙여넣기"한다.

성공 투자 보람찬 스팀 생활 되세요.

-투루노: 마음가는 길은 곧은 길-
// 저도 막 만든거라 계속 업데이트 해가며 쓰긴 할텐데 제 개인 파일에서 할 것이라 시간이 지나면 차이가 있을 수 있습니다. data를 가져오는 부분 빼고는 기본 엑셀과 동일하니 어렵지 않게 사용할 수 있지 않을까 생각합니다만.. 혹시 문의 남겨주시면 최대한 답변 드리겠습니다. ^^;
// 투자금(Investment)만 빼면 다른 분들것도 확인이 가능합니다?
// 아직 스팀임대를 해보지 않아 그 부분이 어떻게 반영되는지를 몰라 임대하시는 분은 차이가 있을 수 있습니다.

Sort:  

스스로 홍보하는 프로젝트에서 나왔습니다.
오늘도 좋은글 잘 읽었습니다.
오늘도 여러분들의 꾸준한 포스팅을 응원합니다.

받았어요. 잘쓸게요~
(처음에 "Make a copy" 메뉴를 몰라서 좀 삽질을.. ^^;;)

ㅋ 감사합니다.

그래도 나름 신경써서 만든건데.. 반응이 없어서.. 슬펐다는..

스크립트가 어렵지 않아 금방 입맛에 맛게 바꿔쓰실 수 있을거에요.

제목만 보고선 이게 뭔지 잘 와닿지 않아서 그랬던 것 같습니다.
그런데 일어나신 거에요, 아직 안주무신거에요? ^^

깼어요. ㅋㅋ
스팀 생각도 많이 나고.^^; 요새 투자 손실이 있고... 뭐.. 그냥 깨버리네요. ^^;

일찍 눕는편이라 일찍 깹니다. ^^;

이벤트당첨
보팅완료!!

짐까지 이벤트 감사드려요~ 앞으로도이지만.. 일단 보틸파워 회복중이라.. 이렇게 뿐이~~

This post received a 40% upvote from @krwhale thanks to @trueonot! For more information, click here!
이 글은 @trueonot님의 소중한 스팀/스팀달러를 지원 받아 40% 보팅 후 작성한 글입니다. 이 글에 대한 자세한 정보를 원하시면, click here!

짱짱맨은 스티밋이 좋아요^^ 즐거운 스티밋 행복한하루 보내세요!

Coin Marketplace

STEEM 0.25
TRX 0.25
JST 0.040
BTC 94687.77
ETH 3416.09
USDT 1.00
SBD 3.32