[Steem Developer Portal] PY: Claim Rewards | TutorialsでPYTHONを学ぶ

in hive-101145 •  24 days ago 

こんにちは、@yasuです。

報酬を請求してみます。

報酬は、claim_reward_balanceメソッドを用いて請求します。

報酬を請求するには、請求する/請求しないではなく、STEEM,SBD,SPのそれぞれの量を指定します。

そのために予め、get_accountメソッドを用いて、

アカウント情報からSTEEM,SBD,SPの各報酬の量を確認しておきます。

下記ページの内容では、
Steemクラスに、claim_reward_balanceメソッドがないので、
正しく動作せず悩みましたが、少し修正したら動作しました。
https://developers.steem.io/tutorials-python/claim_rewards

コード

from steem import Steem
from steem.commit import Commit
from steem.amount import Amount

def steemit_clim(USERNAME, POSTING_KEY, VEIW=False):

    s = Steem()

    #現在の報酬を取得する。
    account = s.get_account(USERNAME)
    reward_steem = account['reward_steem_balance']
    reward_sbd = account['reward_sbd_balance']
    reward_sp = account['reward_vesting_steem']
    reward_vests = account['reward_vesting_balance']

    if VEIW:
        #現在の報酬を表示する。
        print(f"Your current rewards: {reward_steem}, {reward_sbd}, {reward_sp}, {reward_vests}")

    #報酬がなければ、報酬の請求をしない。
    if Amount(reward_steem).amount + Amount(reward_sbd).amount + Amount(reward_vests).amount == 0:
        raise ValueError("Reward is empty!")
        
    #報酬を請求してウォレットに入金する。
    c = Commit(keys=[POSTING_KEY])
    c.claim_reward_balance(reward_steem, reward_sbd, reward_vests, USERNAME)


if __name__ == "__main__":
    steemit_clim("yasu", "posting key...", VEIW=False)

実行結果

ウォレットのページで表示された報酬と同じ分だけ請求してみます。
image.png

スクリーンショット

  • ウォレットのページで報酬が確認できます
    image.png

  • 請求できたようです。
    image.png

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Trade on all cryptocurrency exchanges from one interface! - https://kintum.io/

@yasu transfered 0.5 KRWP to @krwp.burn. voting percent : 6.32%, voting power : 64.01%, steem power : 1952738.62, STU KRW : 1200.
@yasu staking status : 250 KRWP
@yasu limit for KRWP voting service : 0.5 KRWP (rate : 0.002)
What you sent : 0.5 KRWP [48186135 - c0a03278c93810200ea9db7c98781c99bf3031a7]