Posts

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...

파이썬 튜플(tuple) 자료형

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/tuple 파이썬의 튜플(tuple)은 리스트(list)와 비슷한데 값을 추가하거나 삭제하거나 변경할 수 없다는 점이 다릅니다. x = (1, 3, 2) 리스트와 마찬가지로 인덱스를 이용해서 값에 접근할 수 있고, len() 함수로 원소의 수를 확인할 수 있습니다. print(x[0]) 1 print(len(x)) 3 내용을 변경할 수 없는 리스트가 튜플이라고 생각하면 될 것 같습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬 beem에서 특정 블럭번호의 타임스탬프 조회(beem.block.Block 객체)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-beemblockblock 파이썬 beem에서 특정 블럭번호에 대응하는 블럭의 타임스탬프를 조회할 수 있습니다. 얼마전에 특정 블럭 번호에 대응하는 시간을 조회하는 방법을 포스팅했는데요. 여기에 정리하는 것은 또 다른 방법입니다. 일단 이전 포스트는 아래의 링크입니다. beem.blockchain 모듈의 Blockchain 객체를 이용한 방법입니다. 파이썬 beem에서 특정 블럭 번호에 대응하는 시간 조회 여기서 다룰 내용은 beem.block 모듈의 Block 객체를 이용한 방법입니다. 특정 블럭 번호에 대응하는 블럭을 조회하여 Block 객체에 할당하고 여기에서 타임스탬프를 확인합니다. from beem.steem import Steem from beem.block import Block steem_nodes = ["https://api.steemit.com"] steem = Steem(node=steem_nodes) blk_num = 69075700 blk = Block(blk_num, blockchain_instance=steem) blk_time = blk.time() 위의 예시에서 blk_time 변수에 할당된 타임스탬프는 datetime 형식이며, 시간대는 GMT(UTC) 기준입니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - ...

SDS를 통해 조회한 스팀잇 포스트 정보의 타임스탬프 시간대(timezone)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/sds-timezone 우선 파이썬과 SDS를 이용한 스팀잇 포스트 정보 조회 방법은 이전 포스트를 참고하시기 바랍니다. 아래의 링크입니다. 파이썬과 SDS를 이용한 스팀잇 포스트 정보 조회 스팀잇 포스트 정보를 스팀 API 노드에서 조회할 경우, 타임스탬프(timestamp)의 시간대(timezone)는 GMT(UTC)입니다. 따라서 한국 시간 기준으로 9시간이 느립니다(한국 시간은 GMT+9시간입니다). 흥미롭게도, SDS를 통해서 포스트 정보를 가져오면 타임스탬프의 시간대가 지역 시간, 즉 한국 시간(GMT+9)입니다. IP주소를 가지고 지역 시간대로 환산해서 응답을 주는 것인지 다른 방식을 사용하는 것인지 모르겠지만 어쨌든 시간이 한국 시간 기준으로 조회됩니다. 앞에서 언급한 이전 포스트의 예제 코드를 다시 가져와 보면 아래와 같습니다. import requests import json author = 'joviansummer' permlink = 'f7bf32-print' sds_url = 'https://sds1.steemworld.org/posts_api/getPost/' + author + '/' + permlink res = requests.get(sds_url) res_dict = json.loads(res.text) 포스트 작성 시간은 아래와 같이 "result"의 "created" 키(key)에서 확인할 수 있습니다. print(res_dict['result']['created']) 마지막으로 수정한 시간은 "last_update" 키에 있습니다. print(res_dict['result']['last_update'...

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

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/f23a48-sds SDS의 기본적인 동작은 이전 포스트를 참고하시기 바랍니다. SDS API의 기본적인 사용법 파이썬의 requests 모듈을 이용해서 SDS API를 통해 특정 포스트 정보를 조회할 수 있습니다. 포스트 지정은 저자와 펌링크(permlink)로 합니다. SDS의 포스트 조회 관련 설명서는 아래의 링크입니다. https://sds1.steemworld.org/describeMethod/posts_api.getPost 예제 코드는 아래와 같습니다. import requests import json author = 'joviansummer' permlink = 'f7bf32-print' sds_url = 'https://sds1.steemworld.org/posts_api/getPost/' + author + '/' + permlink res = requests.get(sds_url) res_dict = json.loads(res.text) json 형식으로 응답이 온 것을 json.loads() 함수를 이용해서 딕셔너리(dict)로 변환했습니다. 주요 정보를 아래와 같이 출력해 볼 수 있습니다. print("저자:", res_dict['result']['author']) print("제목:", res_dict['result']['title']) print("본문:", res_dict['result']['body']) 저자, 제목, 본문 외에도 다양항 정보가 있으므로 해당 키(key)를 찾아서 확인하면 됩니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jsw...

파이썬에서 유닉스 타임스탬프를 datetime 객체로 변환

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/e6c02e-datetime 파이썬에서 유닉스 타임스탬프를 datetime 객체로 변환할 수 있습니다. 유닉스 타임스탬프는 1970년 1월 1일 9시 0분 0초부터 몇초가 경과했는지를 나타냅니다. 이 값을 datetime 객체로 변환하려면 아래와 같이 하면 되겠습니다. import datetime unix_timestamp = 1667365040 dt = datetime.datetime.fromtimestamp(unix_timestamp) print(dt) 2022-11-02 13:57:20 반대로 datetime 객체로부터 유닉스 타임스탬프를 얻으려면 아래와 같이 합니다. ts = dt.strftime("%s") print(ts) 1667365040 한가지 유의할 점은, 첫번째 예제의 fromtimestamp() 함수에 인자로 들어가는 값은 정수(int)이고 두번째 예제의 strftime() 함수를 통해 도출된 값은 문자열(str)입니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )