Claim할 토큰이 있는지를 확인하는 방법은 지난 글에서 알아보았습니다[1].
이번에는 토큰을 claim하는 방법에 대하여 알아봅니다. 스팀과 스팀엔진관련 API는 @holgern의 github 코드를 사용하였습니다[2][3].
토큰을 claim하기 위해서는 custom_json 명령어를 스팀 블록체인에 보내면 됩니다. 이때 필요한 것이 ID와 json 코드입니다.
- id : "scot_claim_token"
- json = {"symbol":'SCT'}
id는 고정이고, json 문장에는 claim하고자하는 토큰 명을 적으면 됩니다.
코드는 간단합니다.
사용자 명과 claim할 토큰 명을 전달해주면 필요한 명령어를 만들어서 스팀 블록체인에 등록해줍니다.
def claim_token(user, symbol):
json = {"symbol":symbol}
ops = [
operations.CustomJson(**{
"from": user,
"id": "scot_claim_token",
"json": json,
"required_auths": [],
"required_posting_auths": [user],
}),
]
broadcast(user, ops)
현재 claim할 코인들은 아래와 같은데요.
혹시나 하는 마음에 가장 수량이 적은 PAL 코인을 보내봅니다. 지난 글에서 claim할 토큰을 출력하는 부분에 claim하는 함수를 추가하면 됩니다.
rets= get_scot_account_info('@'+account)
for ret in rets :
try :
if (rets[ret]['pending_token'] > 0 ) :
amount = rets[ret]['pending_token']/pow(10, precison[ret])
print(ret, amount )
if ( ret == 'PAL') :
claim_token(account, ret)
steemd.com에서 방금 보낸 cusom_json이 잘 등록이 되었는지 확인해봅니다.
다행이 잘 들어가 있군요. PAL 토큰의 잔고도 증가되었습니다.
이제 남은 것은 부계정에 해당 코인을 보내기만 하면 되겠군요.
이렇게 해서 steem-engine에서의 생활이 더 편해졌습니다.
이러한 과정을 웹 프로그램 잘 하시는 분이 만들어 주시면 좋을 것 같습니다. posting 키 입력이 필요하기 때문에 소스를 다운받아서 사용하기에는 불안함이 있겠죠. 웹에서 keychain으로 이런 일을 할 수 있다면 참 편할 것 같습니다.
능력있는 웹 개발자의 재능 기부가 필요합니다.
자원하실 분 손!!
[1] [암호화폐] 그것이 알고 싶다!! Claim할 토큰이 있는지 알아보기
[2] https://github.com/holgern/beem
[3] https://github.com/holgern/steemengine