파이썬 beem을 이용한 업보팅

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


파이썬 beem을 이용해서 포스트에 업보팅하는 방법입니다. 보팅 대상 포스트의 저자와 펌링크(permlink)를 지정하여 보팅을 수행할 수 있습니다. 여기서는 블러트를 예시로 사용했습니다만, Blurt 객체 대신 Steem 객체를 사용하면 스팀에서도 동일하게 동작할 것으로 생각됩니다.

아래의 코드 예시에서 각 변수값만 필요한 대로 정해 주면 됩니다. 트랜잭션을 구성하고 포스팅키로 서명하고 네트워크에 공표하는 과정입니다. 예시는 @jsup계정이 @joviansummer가 작성한 포스트(펌링크 jswit-3900sp)에 비중 75.5%로 보팅하는 경우입니다.

import beem
from beem import Blurt
from beem.account import Account
from beem.transactionbuilder import TransactionBuilder
from beembase.operations import Vote

# 블러트 rpc 노드
blurt_node = ["https://rpc.blurt.world"]

# 블러트 객체 생성
blurt = Blurt(node=blurt_node)

# @jsup 계정으로 보팅
voter_id = 'jsup'
# @jsup의 포스팅키
posting_key = '5xxx...'
# 보팅 대상 포스트 오소펌(authorperm): @joviansummer/jswit-3900sp
target_id = 'joviansummer'
post_permlink = 'jswit-3900sp'
# 보팅 비중 75.5%
v_power = 75.5

# 업보팅 수행
tx = TransactionBuilder(blockchain_instance=blurt)
tx.appendOps(Vote(**{'voter':voter_id,'author':target_id,'permlink':post_permlink,'weight':int(float(v_power)*100)}))
tx.appendWif(posting_key)
signed_txt = tx.sign()
broadcast_txt = tx.broadcast(trx_id=True)

@joviansummer의 스팀 프로젝트

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

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

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

jsup 수혜자 지정 기능 추가

Comments

Popular posts from this blog

GentBG will continue to burn STEEM, with reduced posting frequency

GentBG - why bother to burn STEEM?

jsup 2.1 - investor's relief (experiment on separation of investment and SNS)