GentBG x PUSSTEEM - burning both STEEM and PUSS

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/gentbg-x-pussteem-burning-both-steem-and-puss Hello, this is @joviansummer(witness: @jswit), developer of GentBG project. I registered @gentbg account to PUSSTEEM about a week ago and donated some of my own PUSS token to @gentbg's EPUSS account. Now, @gentbg will burn STEEM and EPUSS at the same time. PUSSTEEM's boosting upvotes will help increasing baseline burning significantly. @gentbg's SP reward is delegate to @jsup to get automated upvotes, forming a baseline burning of liquid reward independent of other people's upvotes. Some may argue 100%(both liquid and SP reward) burning is much better, but I chose this approach to prevent @gentbg from becoming a spamming account. Constantly asking for upvotes via mentioning and commenting every week may eventually become a big annoyance to curators. That being said, anyone is welcome to participate in countering STEEM inflation by giving upvotes ...

파이썬 beem과 SDS로 특정 계정이 임대 받은 스팀파워 내역 조회하기

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-sds


특정 계정이 어느 계정에 스팀파워를 임대했는지, 즉 나가는 임대(outgoing delegation) 내역은 파이썬 beem에서 간편하게 확인할 수 있습니다. 아래의 링크입니다.

파이썬 beem에서 특정 계정의 스팀파워 임대 정보 조회하기

반면에 특정 계정이 어느 계정으로부터 얼마의 스팀파워를 임대 받았는지, 즉 들어오는 임대(incoming delegation) 내역은 beem에서 확인하기가 어렵습니다. 가능하긴 하지만 계정 이력(account history)을 조회해서 일일이 확인을 해야 합니다.

SDS API를 이용하면 들어오는 임대 내역을 간편하게 조회할 수 있습니다. 우선 SDS API의 기본 동작에 대한 내용은 이전 포스트를 참고하시기 바랍니다. 아래의 링크입니다.

파이썬과 SDS를 이용한 스팀 정보 조회

들어오는 임대 내역을 조회하기 위한 url 항목은 /delegations_api/getIncomingDelegations/입니다. 예를 들어 @jsup 계정이 임대 받은 내역을 확인하려면 아래와 같이 할 수 있습니다.

import requests

sds_url = 'https://sds1.steemworld.org/delegations_api/getIncomingDelegations/' + steem_id

response = requests.get(sds_url)

print(response.text)

{"code":0,"result":{"cols":{"time":0,"from":1,"to":2,"vests":3},"rows":[[1644649578,"kr-templar","jsup",641540.008757],[1645865067,"ladysong","jsup",1739196.428124],...,[1665399027,"hdc","jsup",1796491.495542]]}}

json 형식으로 받은 응답을 보면 "result" 키(key)에 딕셔너리가 할당되어 있고 "cols"와 "rows"가 있는 것을 볼 수 있습니다. "cols"는 "rows"에 속한 원소들이 어떤 항목들인지를 보여줍니다. "cols"에 속한 딕셔너리의 키를 보면 "time", "from", "to", "vests" 순서로 되어 있음을 볼 수 있습니다. "rows"에 속한 원소는 이에 대응하여 시간, 임대한 계정, 임대 받은 계정, 임대한 스팀파워(단위: vests) 순서로 실제 임대 받은 내역이 리스트(list) 형식으로 포함되어 있음을 볼 수 있습니다.

이제 응답 문자열을 딕셔너리로 바꿔서 내역을 보기 좋게 출력할 수 있습니다. json 모듈을 활용해서 문자열을 딕셔너리로 변환합니다.

import json
from beem import Steem

node_list = ["https://api.steemit.com"]
steem = Steem(node=node_list)

res_dict = json.loads(response.text)

for item in res_dict['result']['rows']:
  delegator = item[1]
  deleg_vests = item[3]
  deleg_sp = steem.vests_to_sp(deleg_vests)
  print("임대 계정:", delegator, "- 스팀파워:", str(round(deleg_sp,3)) + "sp")

임대 계정: kr-templar - 스팀파워: 357.338sp
임대 계정: ladysong - 스팀파워: 968.733sp
...
임대 계정: hdc - 스팀파워: 1000.647sp

VESTS값을 스팀파워로 전환하기 위해 beem 모듈의 Steem 객체에서 제공하는 vests_to_sp() 함수를 이용했습니다.


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트

Posted through the AVLE Dapp (https://avle.io)

Comments

Popular posts from this blog

스티미언의 영향력 지수 계산

jsup/avle code update - you don't have to write post everyday

jsup/avle 보팅 코드 갱신 - 1일1포스팅 강박에서 벗어나기