STEEM POWER retention ratio of top 50 witnesses

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/steem-power-retention-ratio-of-top-50-witnesses Hello, this is @joviansummer(witness: @jswit). Some time ago there was a bit of discussion on discord witness chanel about witnesses' power-down/cashing-out. So out of curiosity I just checked current ratio of witnesses' own STEEM POWER(VESTS) and all-time producer reward(VESTS). The ratio is calculated by the following simple formula: ratio(%) = account's own SP(MV) / all-time producer reward SP(MV) * 100% Ratio value less than 100% indicates power-down. If witness does additional power-up or gets other types of reward(e.g., curation reward), the ratio may exceed 100%. This does not take witness' other accounts into consideration. All-time producer reward data is from @steemchiller's SDS API. Here is the result: rank account own_sp prod_sp ratio 1 justyy 2188.411MV 1284.2MV 170.41% 2 steemchiller 982.134MV 124...

파이썬 beem에서 인터넷 회선 또는 API 노드 불안정성에 대한 대응

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/4b92qg-beem-api


파이썬 beem에서 제공하는 객체(클래스)를 사용할 때는 API 노드와의 통신이 이루어지게 됩니다. 인터넷 회선에 문제가 생겨서 연결이 끊어지거나 API 노드가 응답이 없을 경우에는 예외(exception)가 발생합니다.

일회성으로 실행할 때는 크게 문제가 되지 않을 수도 있지만, 24시간 돌아가는 프로세스일 경우에는 새벽에 이런 일이 벌어질 수도 있기 때문에 try/except 구문을 이용한 예외 처리와 함께 재시도가 필요합니다.

이런 부분을 고려하지 않고 코딩할 경우에는 아래와 같이 될 것입니다. 코드는 파이썬 beem에 스팀 기준입니다만, 블러트에서도 Steem 대신에 Blurt를 사용할 뿐, 상황은 동일합니다.

from beem import Steem

node_list = ["https://api.steemit.com"]

steem = Steem(node=node_list)
account = Account('joviansummer', blockchain_instance=steem)

문제가 발생할 경우에 대비하여 while 구문을 이용한 무한 반복과 try/except 구문을 이용하여 아래와 같이 할 수 있습니다.

import time
from beem import Steem

node_list = ["https://api.steemit.com"]

while True:
  try:
    steem = Steem(node=node_list)
    account = Account('joviansummer', blockchain_instance=steem)
    break
  except:
    print("예외가 발생했습니다. 2분후에 재시도합니다.")
    time.sleep(120)
    continue

@joviansummer의 스팀 프로젝트

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

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

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

jsup 수혜자 지정 기능 추가

Comments

Popular posts from this blog

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

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

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