Posts

Showing posts with the label blurt

[ENG] STEEM Security - receive STEEM alert messages via Discord

Image
by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/eng-steem-security-receive-steem-alert-messages-via-discord Hello, this is @joviansummer(witness: @jswit). I'd like to introduce my new experimental project, "STEEM Security." I started this dev project for my personal use, but decided to overhaul the code to make it available to all steemians. This is a Discord bot which will send STEEM security alert to you. Currently, the bot will send an alert message if the following operations happen: - sending STEEM/SBD to another account - changing SP delegation - account update Here is how you set up the Discord bot: Login to Discord and join my STEEM_SECURITY server: https://discord.gg/pawu8YTAvm If you check the member list, you will see "STEEM_SECURITY" bot account. Right-click the bot account and select "Message" to open a DM(direct message) channel with it. On DM channel, register your steem account by sending &q

파이썬 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, &quo

파이썬 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에서 블러트 보상 클레임 문제

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/ae9hk-beem 파이썬 beem에서 블러트 보상 클레임은 뭔가 간단치 않네요. 스팀 보상 클레임과 같은 방법으로는 오류가 발생하고 제대로 동작하지 않았습니다. 파이썬 beem을 이용한 스팀 보상 클레임 방법은 아래의 링크입니다. 파이썬 beem을 이용해서 스팀 보상 클레임하기 블러트에서는 Account 클래스의 claim_reward_balance() 함수가 제대로 동작하지 않았습니다. 아래와 같이 코드를 작성해서 시험해 보았는데 실패입니다. from beem import Blurt from beem.account import Account blurt_node = ["https://rpc.blurt.world"] blurt_id = 'joviansummer' posting_key = '5XXXXXXX...' blurt = Blurt(node=blurt_node, keys=[posting_key]) account = Account(blurt_id, blockchain_instance=blurt) # 보상 클레임(블러트에서는 오류 발생) account.claim_reward_balance() 아마도 claim_reward_blance() 함수가 스팀과 하이브만 고려해서 구현되어 있는 것이 아닌가 싶습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 beem을 이용해서 특정 포스트의 댓글 가져오기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3ii1dq-beem 파이썬 beem을 이용해서 특정 포스트에 달린 댓글을 가져오는 방법입니다. 저자와 펌링크를 조합한 오소펌(authorperm)을 이용해서 포스트를 특정하여 댓글을 가져옵니다. 포스트 식별에 사용되는 오소펌에 대한 내용은 이전에 포스팅한 내용을 참고하시기 바랍니다. 펌링크(permlink) 관련 내용 간략하게 정리 beem의 Comment 객체를 사용하며, get_replies() 함수를 이용합니다. 이 함수는 해당 포스트에 달린 댓글을 리스트(list) 형태로 가져옵니다. 리스트의 각 원소 또한 Comment 객체입니다. 예를 들어 @joviansummer의 포스팅중에 펌링크가 "4tnyma-beem"인 포스트의 댓글을 가져오려면 아래와 같이 할 수 있습니다. 예시는 블러트입니다만, Steem 객체를 사용하면 스팀에서도 동일하게 동작할 것입니다. from beem import Blurt from beem.comment import Comment node_list = ["https://rpc.blurt.world"] blurt = Blurt(node=node_list) authorperm = "joviansummer/4tnyma-beem" comment = Comment(authorperm, blockchain_instance=blurt) # 댓글 리스트를 가져와서 replies에 할당 replies = comment.get_replies() # 각 댓글의 작성자 출력 for reply in replies: print(reply['author']) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com

파이썬 beem을 이용한 블러트 계정 보팅 파워 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/3yxpjl-beem 파이썬 beem을 이용해서 블러트 계정의 보팅 파워(voting power)를 조회하는 방법입니다. Account 객체를 이용해서 간편하게 확인할 수 있습니다. from beem import Blurt from beem.account import Account # 블러트 rpc 노드 blurt_node = ["https://rpc.blurt.world"] # 블러트 객체 생성 blurt = Blurt(node=blurt_node) # @joviansummer의 계정 정보 가져오기 account = Account('joviansummer', blockchain_instance=blurt) # 보팅 파워를 조회하여 변수 v_power에 할당 v_power = account.get_voting_power() print(v_power) Account객체의 get_voting_power()를 통해서 보팅 파워를 조회할 수 있으며, float 형식의 값을 받아옵니다. 소수점 부분이 좀 길기 때문에 round()를 이용하면 좀 더 보기 좋습니다. 파이썬에서 부동소수점(float) 수자 반올림 - round(), format() # 보팅 파워를 소수점 2자리까지 출력 print(round(v_power,2)) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가

파이썬 beem에서 블러트 계정 트랜잭션 이력 조회

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6i5qna-beem 파이선 beem 모듈을 이용해서 블러트 계정의 트랜잭션(transaction) 이력을 조회할 수 있습니다. Account 객체의 get_history_reverse()를 사용합니다. from beem import Blurt from beem.account import Account blurt_node = ["https://rpc.blurt.world"] blurt = Blurt(node=blurt_node) account = Account('joviansummer', blockchain_instance=blurt) # 계정의 최근 트랜잭션을 가져오기 위한 제네레이터 r_hist = account.history_reverse(raw_output=True) # 최근 5개의 트랜잭션 출력 for i in range(5): hist_item = next(r_hist) print(hist_item) 위의 예시에서 출력 결과는 딕셔너리(dict) 형식이며, 아래의 예시와 같은 형태로 가져옵니다. [1487, {'trx_id': '0000000000000000000000000000000000000000', 'block': 15167787, 'trx_in_block': 4294967295, 'op_in_trx': 0, 'virtual_op': 1, 'timestamp': '2021-12-23T05:37:27', 'op': {'type': 'producer_reward_operation', 'value': {'producer': 'joviansummer', 

파이썬 beem을 이용한 블러트 증인 정보 확인

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/gooec-beem 파이썬 beem 모듈을 활용한 블러트 계정 정보 확인은 이전 포스팅을 참고하시면 됩니다. 아래의 링크입니다. 파이썬 beem을 이용한 블러트 계정 정보 확인 일반 계정의 정보는 Account 객체를 이용하는데, 증인(witness) 정보는 Witness 객체를 이용합니다. 마찬가지로 아래의 예시처럼 json 형식의 데이터를 딕셔너리(dict)로 가져와서 필요에 따라 활용하면 됩니다. from beem import Blurt from beem.witness import Witness # 블러트 rpc 노드 blurt_node = ["https://rpc.blurt.world"] # 블러트 객체 생성 blurt = Blurt(node=blurt_node) # @joviansummer의 증인 정보 가져오기 witness = Witness('joviansummer', blockchain_instance=blurt) # 데이터를 딕셔너리 형식으로 wit_data에 할당 wit_data = witness.json() # 전체 데이터 출력 print(wit_data) # 증인 노드 버전 출력 print(wit_data['running_version']) # 마지막으로 생성한 블럭 번호 출력 print(wit_data['last_confirmed_block_num']) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가

파이썬 beem에서 블러트(Blurt) 객체 사용

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/beem-blurt jsBLURT 작업 진행과 별도로, 파이썬의 beem 모듈에 대한 내용을 조금씩 정리해 보려고 합니다. 일단은 블러트를 기준으로 하지만 스팀이나 하이브에서도 크게 다르지 않기 때문에 파이썬을 사용하는 개발자에겐 나름 참고자료가 될 수 있으리라고 생각합니다. 파이썬 beem의 깃허브 페이지는 아래의 링크입니다. https://github.com/holgern/beem 깃허브 페이지의 내용을 보면 스팀/하이브 대응 파이썬 라이브러리인 것 같지만, 블러트에서도 사용 가능합니다. 사용법은 아래의 링크에서 볼 수 있습니다. https://beem.readthedocs.io/en/latest/ 블러트 객체를 이용해서 블럭체인 파라메터를 확인해 보겠습니다. 블러트의 기본 rpc 노드는 rpc.blurt.world입니다. from beem import Blurt # 블러트 rpc 노드 blurt_node = ["https://rpc.blurt.world"] # 블러트 객체 생성 blurt = Blurt(node=blurt_node) # 블럭체인 파라메터 출력 print(blurt.chain_params) {'chain_id': 'cd8d90f29ae273abec3eaa7731e25934c63eb654d55080caff2ebb7f5df6381f', 'min_version': '0.0.0', 'prefix': 'BLT', 'chain_assets': [{'asset': '@@000000021', 'symbol': 'BLURT', 'precision': 3, 'id': 1}, {'asset'