파이썬 beem에서 TransactionBuilder를 이용한 스팀/스팀달러 송금
파이썬 beem에서 스팀(STEEM)/스팀달러(SBD) 송금은 굳이 TransactionBuilder 객체를 이용하지 않아도 Account 객체에서 편하게 할 수 있긴 합니다. 관련 내용은 아래의 링크입니다.
여기서는 좀 더 복잡한 방법이지만 어쨌든 알아두면 나쁠 것이 없기 때문에 TransactionBuilder 객체를 이용한 송금 예제 코드를 정리해 둡니다. 아래의 코드는 @joviansummer에서 @jsup에게 0.001스팀을 전송하는 예시입니다. 스팀/스팀달러를 보내려면 액티브키(active key)를 필요로 합니다.
from beem import Steem
from beem.transactionbuilder import TransactionBuilder
from beembase.operations import Transfer
node_list = ["https://api.steemit.com"]
steem = Steem(node=node_list)
# 보내는 계정: joviansummer
sender_id = 'joviansummer'
# 보내는 계정의 액티브키
sender_active_key = '5XXXXXX....'
# 받는 계정: jsup
receiver_id = 'jsup'
# 송금 설정을 위한 딕셔너리
transfer_dict = {"from":sender_id, "to":receiver_id, "amount":"0.001 STEEM", "memo":"스팀 송금 시험입니다!"}
# 송금
tx = TransactionBuilder(blockchain_instance=steem)
tx.appendOps(Transfer(transfer_dict))
tx.appendWif(sender_active_key)
signed_tx = tx.sign()
broadcast_tx = tx.broadcast(trx_id=True)
만약 스팀달러를 송금하고 싶다면 위의 코드에서 transfer_dict의 "amount"를 아래와 같이 바꾸면 됩니다. 아래의 예시는 0.001스팀달러를 송금하는 경우 transfer_dict 변수의 구성입니다. 나머지는 위와 동일합니다.
transfer_dict = {"from":sender_id, "to":receiver_id, "amount":"0.001 SBD", "memo":"스팀달러 송금 시험입니다!"}
@joviansummer의 스팀 프로젝트
스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)
Upvoted! Thank you for supporting witness @jswit.
![default.jpg](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmNwBDPMPvL1yaKWTYF4wxyUmxWiEJgAy1WZWTJyCha5wE/jswit_comment_initial.w320.jpg)
Please check my new project, STEEM.NFT. Thank you!