[개발이야기#003] 파이썬으로 스팀잇 리워드를 자동으로 클레임 해보자.

in #kr3 months ago

[개발이야기#003] 파이썬으로 스팀잇 리워드를 자동으로 클레임 해보자.

No. 003
2024.05.01.수 | Written by @talkit

    Python  
    스팀잇 자동 클레임  

오늘도 두서 없이 개발 글을 하나 적어 보겠습니다.

오늘의 제목표는 스팀잇에서 계속 나오는 리워드를 한시간에 한번씩 클레임 하는 소스를 만드는 겁니다. ^^

일단 모든 과정을 파이썬으로 생각하고 있습니다.

원래 아키를 짜면 파이썬으로는 단순히 클레임하는 코드만 짜고 윈도우즈나 리눅스 스케쥴러에 넣어서 한시간 마다 돌리면 끝입니다.

하지만, 제가 잘 모르는 파이썬으로 공부(?) 하는 중이기도하고 ㅋㅋㅋ github 코파일럿이 코드를 잘 만들어 줄꺼라서 ^^

자도으로 해보려고 합니다.

우선 아래 코드는 코파일럿에게 리워드를 자동으로 클레임 하려면 어떻게 해야 하나 물어 봤습니다.

from steem import Steem
from steem.account import Account

# 사용자 이름과 개인 포스팅 키를 입력하세요
username = 'your_username'
posting_key = 'your_posting_key'

# Steem 객체를 생성하고 계정을 가져옵니다
s = Steem(keys=[posting_key])
account = Account(username, steem_instance=s)

# 현재 보상 잔액을 확인합니다
reward_balance = account.reward_balance
print(f"Current reward balance: {reward_balance}")

# 리워드를 클레임합니다
account.claim_reward_balance()

# 클레임 후의 보상 잔액을 확인합니다
new_reward_balance = Account(username, steem_instance=s).reward_balance
print(f"New reward balance: {new_reward_balance}")

그랬더니 떡하니 이런 코드를 주네요 ^^

저기에 your username에 본인 steemit 아이디 넣으시고, your_posting_key에 포스팅 키를 넣으시면 됩니다.

저는 변경한 후에 실행 한번 해보겠습니다.

파일 이름을

claim_steem_rewards.py 

로 저장 했습니다.

vscode에서 터미널을 엽니다.

여기서 vscode상에 steem 관련 라이버러리가 빨간줄이 있습니다.

그래서 코파일럿이 알려준대로 ^^

pip install steem

을 실행해서 steem 라이버러리를 설치 햅니다.

예전에는 여기까지하다가 자바로 했던 것 같은데 ^^

오늘 잘 되기를 바랍니다.

오 오류가 하나 떠서 코파일럿에게 다시 물었더니 이거 먼저 해보랍니다.

pip install pycryptodome

그리고 다시

pip install steem

요렇게 하면 된다고 하네요 ^^

그런데 여전히 안되네요 T.T

pip uninstall pycrypto pycryptodome
pip install pycryptodomex

이렇게도 해보라고 해서 안되어서

pip install beem

이렇게 하라고 하네요 ^^

그래서 일단 설치를 하니 저기까지는 잘 됩니다.

그리고 원래코드를 약간 바꿔야 한답니다.

from beem import Steem
from beem.account import Account

# 사용자 이름과 개인 포스팅 키를 입력하세요
username = 'your_username'
posting_key = 'your_posting_key'

# Steem 객체를 생성하고 계정을 가져옵니다
s = Steem(keys=[posting_key])
account = Account(username, steem_instance=s)

# 현재 보상 잔액을 확인합니다
reward_balance = account.reward_balance
print(f"Current reward balance: {reward_balance}")

# 리워드를 클레임합니다
account.claim_reward_balance()

# 클레임 후의 보상 잔액을 확인합니다
new_reward_balance = Account(username, steem_instance=s).reward_balance
print(f"New reward balance: {new_reward_balance}")

비슷한것 같네요 ^^

패키지도 설치 되었고 실행해보겠습니다.

python3 claim_steem_rewards.py

로 실행을 했더니 ^^

코드에 오류가 있네요 ^^

from beem import Steem
from beem.account import Account

# 사용자 이름과 개인 포스팅 키를 입력하세요
username = 'your_username'
posting_key = 'your_posting_key'

# Steem 객체를 생성하고 계정을 가져옵니다
s = Steem(keys=[posting_key])
account = Account(username, steem_instance=s)

# 현재 보상 잔액을 확인합니다
reward_balances = account.reward_balances
print(f"Current reward balances: {reward_balances}")

# 리워드를 클레임합니다
account.claim_reward_balance()

# 클레임 후의 보상 잔액을 확인합니다
new_reward_balances = Account(username, steem_instance=s).reward_balances
print(f"New reward balances: {new_reward_balances}")

코파일럿이 잘 못 했다고 ㅋㅋㅋ 위와 같이 변경해 보랍니다.

rewared_balance 속성이 없고

reward_balances 속성이라네요 ^^

다시한번 실행 해보겠습니다.

음 지금까지 한것이 코파일럿에게 속았습니다. T.T

beem은 하이브 라이브러리군요.

다른 의견으로 가상환경을 만들라고 해서 가상환경을 만들어 주고 첫번째 코드를 실행 해보겠습니다.

정상적으로 스팀 라이버러리가 설치 됩니다.

여러가지 오류가 있었지만 성공 했습니다.

from steem import Steem
from steem.account import Account

# 사용자 이름과 개인 포스팅 키를 입력하세요
username = 'your_username'
posting_key = 'your_posting_key'

# Steem 객체를 생성하고 계정을 가져옵니다
s = Steem(keys=[posting_key])
account = Account(username)

# 현재 보상 잔액을 확인합니다
reward_balance = account["reward_steem_balance"]
print(f"Current reward balance: {reward_balance}")

# 리워드를 클레임합니다
s.claim_reward_balance(account=username)

# 클레임 후의 보상 잔액을 확인합니다
new_reward_balance = Account(username)["reward_steem_balance"]
print(f"New reward balance: {new_reward_balance}")

얘를 실행하면 시간마다 실행 해주는 코드 없이

일단, 리워드를 클레임 해주네요 ^^

다음 글에서는 시간마다 하는 코드를 추가해서 보겠습니다. ^^

감사합니다.




Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @talkit님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

능력이 스팀에 크게 도움이 되었으면 합니다^^

제가 필요로 하는 코드들을 간단 간단하게 작성해 보고 있습니다.
통합 하면 ^^ 좋은 작품이 나오려나요 ^^

능력자십니다.

요즘은 개발하기 너무 좋아서 ^^
간단한 개발 도구 파이썬하고, vscode 만 있으면 누구나 해보실 수 있습니다. ^^

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.029
BTC 65560.09
ETH 3467.72
USDT 1.00
SBD 2.68