[암호화폐] 그것이 알고 싶다!! air-dorp 된 토큰을 받은 계정은?

Words
241
Reading
2 min
Listen
Play
7y

스팀엔진이 나온 이후 마나 때문에 계정을 분산해서 사용하는 경우가 많습니다. 계정이 많다보니 토큰 관리가 어려워서 그동안 claim, transfer, staking을 자동으로 해 주는 파이썬 프로그램을 만들었습니다.

오늘 STEEMSPEAK라는 토큰이 air-drop되었다고 하더군요. 지금은 5 steemp에 충분한 매수세가 있지만 오전에는 6 steemp에도 매수가 있었습니다.

계정을 여러개 사용하다보니 어느 계정에 air-drop되었는지 일일이 확인하는 것도 힘들더군요. 그래서 또 만들었습니다. 이름하여 "air-drop 보기" 입니다.

기능이 간단하여 금방 끝날 것으로 예상을 하였는데, API 하나로 정보를 모두 볼 수가 없어서 시간이 좀 더 걸렸습니다. 결론적으로 아래 두 함수를 사용하여야 원하는 정보를 얻을 수 있습니다.

그 이유는 PAL 토큰의 경우에는 claim을 하는 방식이고, STEEMSPEAK는 바로 이체가 되는 방식이기 때문에 balance와 pending_token을 모두 봐야합니다. 이 값을 한 함수에서 알 수 없더군요.

그리고 api 패키지가 repl.it에 설치가 되지 않아서 결과를 가져오는 부분만 별도로 뽑아서 코딩을 했습니다.

아래 사이트에서 계정과 토큰 명을 변경한 후 위에 있는 "run"을 눌러보면 STEEMSPEAK 토큰이 airdrop되었는지 확인이 가능합니다. balance를 보여주는 프로그램이므로, 현재 잔고도 확인이 가능합니다.

https://repl.it/@zonemultiwhs/print-air-drop-tokens

소스 코드는 다음과 같습니다. 등록된 계정에 대하여 balance가 0.0보다 큰 경우 balance와 pending_token 값을 출력해 줍니다.

def print_num_of_holding_tokens(symbols) :
    for account in accounts :
        rets = get_scot_account_info('@'+account)
        
        balances = request_get("tokens","balances",{ 'account': account})
        print("-- ", account, " --")
        for balance in balances['result'] :
            if ( float(balance['balance']) > 0.0 ) :
                try :
                    if (balance['symbol'] in symbols) :
                        print ("[", balance['symbol'], "]", balance['balance'], rets[balance['symbol']]['pending_token']/pow(10, precison[balance['symbol']]))
                except Exception as ex :
                    print ("[", balance['symbol'], "]",  balance['balance'])
        print("")


print_num_of_holding_tokens(target_symbols)
print("done")

사용하시는 계정으로 STEEMSPEAK이 air-drop 되었는지 확인하시고, 매도 여부를 결정하시기 바랍니다.

[암호화폐] 그것이 알고 싶다!! air-dorp 된 토큰을 받은 계정은? | Ecency