Posts

Showing posts with the label python

파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬에서 리스트 내용을 텍스트 파일로 저장

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3afmfh 파이썬에서 리스트(list) 원소 하나가 텍스트 파일의 한줄이 되도록 저장하는 방법입니다. x = ['abc', 'def', 'hij'] f = open('my_file.txt', 'w') f.write('\n'.join(x)) f.close() 줄바꿈(\n)을 기준으로 join()을 통해서 리스트의 원소를 문자열로 변환해 주었습니다. 여기서 주의할 점은 처음부터 리스트의 원소가 모두 문자열(str)이어야 한다는 점입니다. 수자 등 다른 형식이 포함되어 있으면 오류가 발생합니다. 이런 경우에는 for 반복문을 이용해서 한줄씩 문자열로 변환해서 저장해 줄 수 있습니다. x = ['abc', 'def', 'hij'] f = open('my_file.txt', 'w') for item in x: f.writelines(str(item) + '\n') f.close() @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬에서 현재 사용중인 시스템의 시간대(timezone) 정보 확인

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6k7bmf-timezone 파이썬에서 현재 사용중인 시스템의 시간대(timezone) 정보를 조회할 수 있습니다. tzlocal 모듈의 get_localzone() 함수를 이용하면 간편하게 가능합니다. import tzlocal sys_tz = tzlocal.get_localzone() print(str(sys_tz)) Asia/Seoul @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 beem에서 dynamic global properties 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-dynamic-global-properties 파이썬 beem을 이용해서 스팀 블럭체인의 dynamic global properties 목록을 조회하는 방법입니다. 현재 블럭 번호, 총 스팀파워 등 여러 가지 정보를 딕셔너리(dict) 형식으로 가져올 수 있습니다. Steem 객체의 get_dynamic_global_properties() 함수를 이용합니다. from beem import Steem s = Steem(node=['https://api.steemit.com']) s_global_prop = s.get_dynamic_global_properties() # 현재 블럭 번호 확인 print(s_global_prop['head_block_number']) # 총 스팀파워(sp) print(s_global_prop['total_vesting_fund_steem']) # 총 스팀파워(vest) print(s_global_prop['total_vesting_shares'] # 전체 항목 확인 for key in s_global_prop: print(key, ':', s_global_prop[key]) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아...

파이썬 beem에서 TransactionBuilder를 이용한 블러트(BLURT) 송금

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-transactionbuilder-blurt 파이선 beem에서 TransactionBuilder 객체를 이용해서 블러트(BLURT)를 송금하는 방법입니다. 스팀/스팀달러 송금과는 약간 다른 부분이 있어서 정리해 둡니다. 스팀/스팀달러 송금은 아래의 링크입니다. 파이썬 beem에서 TransactionBuilder를 이용한 스팀/스팀달러 송금 기본적인 방식은 동일한데, 블러트에서는 Amount 객체를 이용해서 추가적으로 지정해야 하는 부분이 있습니다. @joviansummer에서 @jsup에게 0.001 블러트를 전송하는 예시는 아래와 같습니다. from beem import Blurt from beem.transactionbuilder import TransactionBuilder from beembase.operations import Transfer from beem.amount import Amount node_list = ["https://rpc.blurt.world"] b = Blurt(node=node_list) # 보내는 계정: joviansummer sender_id = 'joviansummer' # 보내는 계정의 액티브키 sender_active_key = '5XXXXXX....' # 받는 계정: jsup receiver_id = 'jsup' # 0.001 블러트 송금을 위한 Amount 객체 생성 amount = Amount(0.001, 'BLURT', blockchain_instance=b) # 송금 설정을 위한 딕셔너리 transfer_dict = {"from":sender_id, "to":receiver_id, "amount": amount, ...

파이썬에서 텍스트 파일을 읽어서 리스트에 할당

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/79yszz 파이썬에서 텍스트 파일을 읽어서 한줄이 하나의 원소가 되도록 리스트(list)를 만드는 방법입니다. 매우 간단합니다. f = open('my_file.txt', 'r') y = f.read() y_list = y.split('\n') 파일의 내용을 read()로 읽은 후에 줄바꿈(\n)을 기준으로 분할하면 리스트가 생성됩니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 함수에서 키워드 인자 사용 - kwargs

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/kwargs 파이썬에서 함후에 인자(argument)를 지정할 때 딕셔너리(dict)처럼 키(key)와 값(value)을 사용할 수 있습니다. 함수 코드를 작성할 때 인자에 "**kwargs"라고 지정하면 됩니다. 예시를 보면 금방 알 수 있습니다. def test_func(**kwargs): if 'x' in kwargs: my_val = kwargs['x'] else: my_val = 10 print(my_val) test_func(x=5) test_func() 5 10 위의 예시를 보면, test_func() 함수를 호출할 때 x의 값을 지정하면 지정한 값을 출력하고 지정하지 않으면 기본값(여기서는 10)을 출력합니다. 함수 안에서 kwargs는 딕셔너리이고, 키와 값은 함수를 호출할 때 지정하는 바에 따라 결정됩니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬3에서 가상환경 설정 - venv

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3-venv 예전에 파이썬의 virtualenv 모듈에 대해 썼던 적이 있는데요. 아래의 링크입니다. 파이썬에서 가상환경 설정 - virtualenv 사용할 일이 딱히 없어서 시험해 보지 않았었는데, 파이썬3에서 사용하는 가상환경은 virtualenv가 아니라 venv인 것 같더군요. 우분투 계열 리눅스에서 아래와 같이 패키지를 설치합니다. sudo apt-get install python3-venv 사용하는 요령은 virtualenv와 동일합니다. # 가상환경 test_venv 만들기 python3 -m venv test_venv # 가상환경으로 들어가기 cd test_venv source ./bin/activate # 가상환경에서 나가기 deactivate @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 beem에서 특정 계정의 댓글 이력 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/4ejsog-beem 파이썬 beem을 이용해서 특정 계정의 댓글 이력을 조회할 수 있습니다. Account 객체의 comment_history() 함수를 이용하며, 제네레이터(generator) 형식으로 가져옵니다. 예시를 보면 감을 잡을 수 있을 것입니다. from beem import Steem from beem.account import Account s = Steem(node="https://api.steemit.com") a = Account('joviansummer', blockchain_instance=s) # 최근 5개의 댓글 가져오기 c_hist = a.comment_history(limit=5) # 댓글 Comment 객체를 하나씩 가져와 출력 for reply in c_hist: # 댓글 작성자(author) -> 본문 작성자(parent author) print(reply.author, '->', reply.parent_author) # Comment 객체의 내용 출력 print(reply.body) print(" ") comment_history 함수에서 limit 값을 지정하지 않으면 API 노드에서 줄 수 있는 최대한 많은 댓글을 가져올 수 있습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 ...

파이썬 beem의 Comment 객체에서 조회 가능한 키(key) 목록

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-comment-key 우선 파이선 beem의 Comment 객체를 이용한 포스트 정보 조회 예시는 아래의 링크를 참고하시기 바랍니다. 파이썬 beem에서 특정 포스트의 작성 시간과 수정 시간 확인 Comment 객체에서 조회 가능한 키(key) 목록은 아래와 같은 코드를 이용해서 확인해 볼 수 있습니다. from beem import Steem from beem.comment import Comment node_list = ['https://api.steemit.com'] steem = Steem(node=node_list) authorperm = 'joviansummer/b01bb' comment = Comment(authorperm, blockchain_instance=steem) for key in comment: print(key) 위의 코드를 실행해서 아래와 같은 결과를 얻을 수 있습니다. post_id author permlink category title body json_metadata created last_update depth children net_rshares last_payout cashout_time total_payout_value curator_payout_value pending_payout_value promoted replies body_length active_votes author_reputation parent_author parent_permlink url root_title beneficiaries max_accepted_payout percent_steem_dollars authorperm tags community 각 항목은 필요할 경우 반환되는 데이터 형식을 ...

파이썬 beem 블러트 보상 클레임 문제

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3uazyg-beem 파이썬 beem은 매우 편리하지만, 블러트(BLURT)에서는 보상 클레임이 제대로 동작하지 않는 문제가 있습니다. 이 문제와 관련하여 블러트 증인 @saboin님의 해결책을 발견해서 기록해 둡니다. 관련 내용은 아래의 링크입니다. https://blurt.blog/@saboin/rt82ap https://blurt.blog/@saboin/rt7yta beem 공식 버전이 블러트와 맞지 않는 부분이 있어서 직접 수정판을 만든 것 같습니다. 아직 제대로 시험해 보지 않았지만 잊어버리기 전에 일단 기록해 놓아야겠습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색

파이썬 beem에서 account history API 사용할 때 유의할 점 (2번째)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-account-history-api-2 파이썬 beem에서 특정 계정의 트랜잭션 이력을 조회하는 account history API를 사용할 때 주의할 점을 얼마전에도 포스팅한 적이 있습니다. 아래의 링크입니다. 파이썬 beem에서 Account 객체의 history_reverse() 함수 사용할 때 유의점 account_history_reverse() 함수를 사용할 때 1회당 조회수(batch_size)를 20개 이하로 설정해야 된다는 내용이었습니다. 그런데 최근에 또 다른 제약 사항이 있음을 발견했습니다. 동일한 IP주소에서 요청을 전송할 경우 1초당 10회 미만이 되어야 합니다. 이것은 공식 스팀 API 노드(api.steemit.com)에서 확인한 내용이며, 다른 API 노드에는 이러한 제약이 없을 수도 있습니다. 어쨌든 이력을 조회할 때 통상 for 반복문을 사용하는데, 너무 자주 조회 요청이 나가지 않도록 time.sleep() 함수를 이용해서 최소한 0.1초 이상 쉬는 시간이 있도록 하지 않으면 응답이 제대로 오지 않고 예외(exception)가 발생합니다. 이전 포스트의 코드 예시에 time.sleep()을 추가하면 아래와 같이 될 것입니다. 좀 여유 있게 0.3초 기다린 후에 다음 트랜잭션을 조회하도록 수정한 경우입니다. from beem import Steem from beem.account import Account import time steem_node = ["https://api.steemit.com"] steem = Steem(node=steem_node) account = Account('joviansummer', blockchain_instance=steem) history_data = account.history(start=1, sto...

파이썬 beem에서 Account 객체의 history_reverse() 함수 사용할 때 유의점

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-account-historyreverse 여기에 기록하는 제약 사항은 스팀(STEEM)에 국한되는 내용입니다. 파이썬 beem을 이용해서 트랜잭션 이력을 조회하는 방법은 아래의 링크입니다. Account 객체의 history_reverse() 함수를 이용하는 방법입니다. 파이썬 beem에서 블러트 계정 트랜잭션 이력 조회 Account 객체의 history() 함수에 대한 내용은 아래의 링크입니다. 파이썬 beem에서 계정 트랜잭션 이력 조회(범위 지정) 예전에 위의 함수들을 이용할 때 1회당 조회수 제한이 적용되었다는 내용을 포스팅했던 바 있습니다. 아래의 링크입니다. 파이썬 beem에서 계정 트랜잭션 이력 조회할 때 요청 1회당 조회수 제한(batch_size) 계정 이력 요청에서 한번에 받을 수 있는 트랜잭션 정보의 개수(batch_size)가 1000개에서 100개로 줄었다는 내용인데요. 최근 스팀잇 안정성 문제가 발생한 이후 이 제한이 더 줄어들어서 20개가 되었습니다. 관련 내용은 증인 @ety001님의 포스트에 공시되어 있으며, 아래의 링크입니다. [NOTICE] Steem Official API has added some new limit rules 따라서, 아래의 예시처럼 batch_size 옵션은 20으로 지정해 주어야 하겠습니다. from beem import Steem from beem.account import Account steem_node = ["https://api.steemit.com"] steem = Steem(node=steem_node) account = Account('joviansummer', blockchain_instance=steem) history_data = account.history(start=1, stop...

파이썬에서 아무것도 안 하기 (pass)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/pass 파이썬에서 아무것도 하지 않는 방법입니다. pass를 사용합니다. 예를 들어 try/except 구문에서 예외가 발생했을 때 아무것도 하지 않고 넘어가고 싶다면 아래의 예시처럼 해 볼 수 있겠습니다. x = [10, 20] try: x.pop(2) except: pass 리스트 x의 원소가 2개이므로 pop()에서 2번 인덱스를 지정하면(인덱스는 0부터 시작) "index out of range" 예외가 발생합니다만, pass 명령만 있으므로 아무런 작업도 하지 않고 넘어갑니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색

[ENG] STEEM dev with python

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-steem-dev-with-python This post is a reply to @moecki's comment , but might be helpful for anyone thinking about interacting with STEEM blockchain with python. There are 2 python libraries for STEEM. One is steem-python, and the other is beem. I'm not sure either one is actively maintained, but in my opinion both are quite usable. Documents for steem-python can be found here: https://steem.readthedocs.io/en/latest/ Documents for beem can be found here: https://beem.readthedocs.io/en/latest/ As for myself, I'm using beem for my dev projects. I started with steem-python but after a while ended up with beem. Here is a basic example of upvoting with beem: https://steemit.com/blog/@joviansummer/4tnyma-beem/ It's explained in Korean, but you'll quickly get the idea by reading the code. Thanks for reading! @joviansummer's STEEM projects @jswit witness project: I'm runnin...

파이썬 딕셔너리(dict)의 키(key)들을 모아 리스트 생성 - keys()

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/dict-key-keys 파이썬 딕셔너리(dict)의 키(key)들을 모아서 리스트를 만드는 방법입니다. 딕셔너리의 keys() 함수를 이용합니다. x_dict = {'a':1, 'b':2, 'c':3} x_keys = x_dict.keys() keys() 함수에 의해 반환되는 객체는 dict_keys입니다. 이것을 리스트로 변환합니다. x_list = list(x_keys) print(x_list) ['a', 'b', 'c'] 딕셔너리의 값(value)들을 모아서 리스트로 만들려면 values() 함수를 사용하며, 요령은 같습니다. 아래의 링크를 참고하시기 바랍니다. 파이썬 딕셔너리(dict)의 값(value)들을 모아 리스트 생성 @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬 json.dumps()에서 한글 문자열 보존

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsondumps 파이썬에서 딕셔너리(dict)를 문자열(str)로 변환할 때 json.dumps() 함수를 활용하게 되는데, 문자열이 한글일 경우 아래와 같이 제대로 표시되지 않을 수 있습니다. import json x_dict = { 'a': '이것은 테스트용 문자열' } x_str = json.dumps(x_dict) print(x_str) {"a": "\uc774\uac83\uc740 \ud14c\uc2a4\ud2b8\uc6a9 \ubb38\uc790\uc5f4"} 한글이 제대로 나오게 하려면 아래와 같이 ensure_ascii 옵션을 False로 지정해야 합니다. x_str = json.dumps(x_dict, ensure_ascii=False) print(x_str) {"a": "이것은 테스트용 문자열"} @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬과 SDS API를 이용해서 특정 계정을 증인 프록시(witness proxy)로 설정한 계정 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/sds-api-witness-proxy SDS API를 이용해서 특정 계정을 증인 프록시로 설정한 계정의 목록을 조회할 수 있습니다. 예를 들어 @avle 계정을 증인 프록시로 설정한 계정들을 조회하려면 아래와 같이 할 수 있습니다. import requests import json steem_id = 'avle' sds_url = 'https://sds.steemworld.org/witnesses_api/getAccountsByWitnessProxy/' + steem_id response = requests.get(sds_url) res_dict = json.loads(response.text) res_list = res_dict["result"] requests.get()을 이용해서 증인 프록시를 조회하기 위한 url에 접속해서 응답을 받아 옵니다. 응답은 json 형식의 문자열인데, json.loads() 함수를 이용해서 딕셔너리(dict) 형식으로 변환합니다. "result" 키(key)에 계정 목록이 있으므로, 위의 예시처럼 해당 키의 값을 가져오면 됩니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avl...

파이썬 beem에서 특정 계정이 소유한 스팀파워 확인

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/04f18-beem 파이썬 beem에서 특정 계정이 소유한 스팀파워를 확인하는 방법입니다. Account 모듈의 get_vests() 함수를 이용합니다. from beem import Steem from beem.account import Account node_list = ["https://api.steemit.com"] s = Steem(node=node_list) a = Account('joviansummer', blockchain_instance=s) my_vests = a.get_vests(only_own_vests=True) get_vests() 함수에서 임대를 받거나 준 스팀파워를 제외하고 본인이 소유한 스팀파워, 즉 자체 스팀파워를 파악하기 위해 only_own_vests=True로 인자를 지정해 줍니다. 반환되어 변수 my_vests에 할당된 결과는 beem에서 제공하는 Amount 객체이며 스팀파워가 아니라 vest값입니다. 이로부터 vest값을 부동소수점 수자(float)로 가져와 스팀파워로 변환을 합니다. 변환은 Steem 객체의 vests_to_sp() 함수를 이용합니다. my_vests_float = my_vests.amount my_sp = s.vests_to_sp(my_vests_float) print(my_sp, "SP") @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 ...

파이썬 딕셔너리에서 숫자(int, float)도 키(key)로 사용 가능

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/int-float-key 파이썬 딕셔너리(dict)의 키(key)는 문자열(str)만 사용해 왔기 때문에 막연하게 키는 문자열을 사용한다고 생각했었는데, 숫자(int, float)도 가능하네요. x = {'a':1.5, 1.2:3, 2:'abc'} print(x[1.2]) 3 위의 예시처럼 문자열, 정수, 부동소수점 다 사용 가능합니다. 하지만 정수를 키로 사용할 경우에는 리스트(list)의 인덱스와 혼동할 가능성도 있어 보입니다. 위의 예에서 x[2]라고 하면 리스트의 인덱스 2번이 아니라 딕셔너리의 키가 2라는 의미가 됩니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다. jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )