[AD]Travala 암호화폐로 유명호텔 싸게 예약하자

굳헬로의 스팀 프로그램 일기!! 일흔네번째 #74 나의 자산을 확인 하는 프로그램에 스팀파워 임대량 추가!!

in sct •  5 months ago 

올해도 어느덧 10월달이 되었네요.

10월초에는 개천절, 한글날이 있어 달력이 유독 빨갛게 보이는 것 같습니다.

거기다 이번 개천절은 샌드위치 데이!!

좋은건지 나쁜건지....

거기다 태풍까지 오고 있다 하니... 집에서 방콕하면서 파전에 막걸리나 마시며 보내고 싶은 생각입니다...

그럼 오늘도 프로그램 일기 남겨보겠습니다.


어제는 트아 @tradingideas 형님께서 만드신

[암호화폐] 나의 스티밋 자산은?

프로그램을 웹 페이지에서 확이하는 프로그램을 짜보았습니다.

콘솔로

----------------------------------------------
   ID            steem          sbd        sp
----------------------------------------------
goodhello         75.95       5.73  12,888.95
goodhello.spt       0.00       0.00      70.56
goodhello.aaa       0.00       0.00      20.14
playsteemmonster      12.36       0.00      93.39
----------------------------------------------
total             88.31       5.73  13,073.05

이렇게 보이던 결과를

웹에서 이렇게 볼 수 있게 되었답니다.

그런데 생각해보니, 여기에 없는 정보가 있더군요.

바로 스파 임대 정보.

현재 상당량의 스팀파워를 임대 보낸 상태인데, 앞전에 프로그램에는 스파 임대 정보가 누락이 되어 있습니다.

그래서 오늘은 스파 임대 정보를 한번 출력해 보도록 하겠습니다.

먼저 임대 보낸 정보를 한번 알아보도록 하겠습니다.

delegate_vests = stm_account.get_vesting_delegations()
print(json.dumps(delegate_vests, indent=4))

임대가 나간 정보는 get_vesting_delegations() 통해서 가져올 수 있었는데요.

    {
        "delegatee": "goodhello.aaa",
        "delegator": "goodhello",
        "id": 1232523,
        "min_delegation_time": "2019-06-04T00:16:36",
        "vesting_shares": {
            "amount": "39846331472",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "goodhello.sct",
        "delegator": "goodhello",
        "id": 1237938,
        "min_delegation_time": "2019-06-17T13:10:33",
        "vesting_shares": {
            "amount": "99537568492",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "goodhello.spt",
        "delegator": "goodhello",
        "id": 1235674,
        "min_delegation_time": "2019-06-12T00:54:39",
        "vesting_shares": {
            "amount": "99537502799",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "minigame",
        "delegator": "goodhello",
        "id": 1215635,
        "min_delegation_time": "2019-04-29T06:28:27",
        "vesting_shares": {
            "amount": "9942151622809",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "naha",
        "delegator": "goodhello",
        "id": 1228642,
        "min_delegation_time": "2019-05-27T07:32:42",
        "vesting_shares": {
            "amount": "1993204782071",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "ntopaz",
        "delegator": "goodhello",
        "id": 1218333,
        "min_delegation_time": "2019-05-03T05:03:39",
        "vesting_shares": {
            "amount": "998014754073",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "smgazua",
        "delegator": "goodhello",
        "id": 1212499,
        "min_delegation_time": "2019-04-24T13:27:15",
        "vesting_shares": {
            "amount": "19970425988",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "steem-ua",
        "delegator": "goodhello",
        "id": 1050795,
        "min_delegation_time": "2018-09-01T06:06:15",
        "vesting_shares": {
            "amount": "505834945331",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "steemmonsters",
        "delegator": "goodhello",
        "id": 1228928,
        "min_delegation_time": "2019-05-28T07:52:09",
        "vesting_shares": {
            "amount": "1993087277714",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "wdev",
        "delegator": "goodhello",
        "id": 1091487,
        "min_delegation_time": "2018-10-16T05:04:42",
        "vesting_shares": {
            "amount": "202200000000",
            "nai": "@@000000037",
            "precision": 6
        }
    },
    {
        "delegatee": "y-o-u-t-h-m-e",
        "delegator": "goodhello",
        "id": 1217784,
        "min_delegation_time": "2019-05-02T07:33:48",
        "vesting_shares": {
            "amount": "1996134778505",
            "nai": "@@000000037",
            "precision": 6
        }
    }

제가 보낸 임대 내역들이 vesting_shares에 나오고 있습니다.

음 스팀파워 값이 아니라 이 것을 다시 스팀파워로 바꿔줘야 하는데요.

이 작업이 정말 힘들었는데... 어찌 어찌 성공한 것 같습니다.

먼저 vests를 스팀파워를 변환하려면, steem_per_mvests 값을 알아야 하는데 이 값을 가져오는 함수를 만들었습니다.

def get_steem_per_mvests():
    site = 'https://steemdb.com/api/props'
    rj = requests.get(site)
    steem_per_mvests = rj.json()[0]["steem_per_mvests"]
    return steem_per_mvests

현재 steem_per_mvests의 값은 504.68562919470247 입니다.

이 값을 이용해서 vests를 스팀으로 계산하는 get_vests_to_steem()함수에 넣으면 임대 보낸 스팀파워의 양을 알 수 있습니다.

def get_vests_to_steem(vests, steem_per_mvests):  
    vests_to_steem = steem_per_mvests * vests  / 1e6
    return vests_to_steem

delegate_vests = stm_account.get_vesting_delegations()
vests = 0

for outgoing_delegation in delegate_vests :
    vests = vests + (int(outgoing_delegation['vesting_shares']['amount']) / 1e6 )

outgoing_delegations = get_vests_to_steem(vests, steem_per_mvests)

출력결과

vests : 17889519.989254
outgoing_delegations  : 9028.583651767862

임대 보낸 스팀파워 정보를 계산했으니 이제 임대 받은 스팀파워 정보를 계산해 보도록 하겠습니다.

incoming_vests = float(stm_account['received_vesting_shares']['amount'])
incoming_delegations = get_vests_to_steem(incoming_vests, steem_per_mvests)

received_vesting_shares를 이용하여 임대 받은 스파를 계산했습니다.

이제 최종적으로 계산한 값을 웹 페이지에서 받아서 출력을 해보겠습니다.

for ($i=0; $i<count($out); $i++)
{
    $index = $i + 1;
    echo "<tr>";
    echo "<td>". $index  ."</td>";
    
    $json = json_decode($out[$i], true);
    $sum_each_sp = 0;
    foreach ($json as $key => $value){
        echo "<td>";
        echo $value;
        echo "</td>";
        if($key == "steem")
        {
            $sum_steem = $sum_steem + $value;                               
        }                           
        if($key == "sbd")
        {
            $sum_sbd = $sum_sbd + $value;
        }                           
        if($key == "sp")
        {
            $sum_sp = $sum_sp + $value;
            $sum_each_sp = $sum_each_sp + $value;
        }
        if($key == "outgoing_delegations")
        {
            $outgoing_delegations = $outgoing_delegations + $value;
            $sum_each_sp = $sum_each_sp + $value;
        }       
        if($key == "incoming_delegations")
        {
            $incoming_delegations = $incoming_delegations + $value;
            $sum_each_sp = $sum_each_sp - $value;
        }       
        $sum_all_sp = $sum_all_sp + round($sum_each_sp, 2);
    }       
    echo "<td>";                        
    echo round($sum_each_sp, 2);
    echo "</td>";
    echo "</tr>";

이제 스팀파워 임대량까지 계산해서 자산의 결과를 보여주는 것까지 완성했네요.

앞으로 여기에 스팀엔진 토큰 자산도 넣어보고, 추가로 달러 환산이라던지 원화 환산이라던지 그런 기능까지 넣어볼 예정입니다.

해야 할일이 자꾸 늘어나는것 같네요.

그리고 드디어 스팀몬스터 시즌이 마무리되고 새로운 시즌이 시작되었습니다.

그래서 시즌 보상으로 받은 카드들의 가치를 조회하는 코드를 짜볼까 했는데...

시즌 보상도 일일퀘스트 보상과 같은 방식으로 정보가 제공되더군요.

그래서 코드도 짜기 전에 결과를 확인할 수 있었습니다.

시즌 보상으로 150장의 리워드 카드를 받았는데...


.
.
.

신규로 추가된 카드들도 보상으로 나오는군요.

신규 카드라 그런지 마켓에서 높은 금액에 거래되고 있는것 같네요.

비록 흔들흔들 전설카드는 한장도 안나왔지만, 150장 보상으로 14$가 넘는 가치를 가지고 있네요.

그러고보니 스팀몬스터 자동화 프로그램도 스을 작업에 들어가려고 생각하고 있는데, 자꾸 할일이 늘어나서 큰일입니다.

시간이 부족한게 너무 아쉽네요.

그럼 여러분들 태풍 온다는데 태풍 조심하시구요.

행복한 하루 보내시기 바랍니다.


굳헬로의 스팀 프로그램 일기!! 시리즈

#1 Python 프로그램 설치 && steemengine 파이썬 api 설치 && 간단한 steemengine 예제

#2 비주얼 스튜디오 코드 프로그램 설치 && 비주얼 스튜디오 코드를 사용하여 파이썬 다루기 && 간단한 steemengine 예제

#3 스팀엔진 토큰의 정보를 가져오는 findOne() && 누군가의 토큰 사용 내역을 가져오는 get_history() && JSON 데이터 출력

#4 steemengine Token 클래스 && Token.get_holder() && Token.get_market_info() && Token.get_buy_book() && Token.get_sell_book()

#5 스팀엔진 블록을 뒤져서 원하는 정보를 찾아보자!! 스팀엔진 마켓 거래 내역을 뽑아내는 예제

#6 파이썬으로 스팀엔진 토큰들을 클레임 해보자.

#7 드디어 첫 실전!! 무한 반복 작업 수행하기!! 이제 직접 클레임 하는 손맛은 잊자. 무한 반복 자동 클레임!!

#8 텔레그램 봇을 이용해 알림을 받아보자!! && 무한 반복 자동 클레임의 정보를 텔레그램으로 받아보기!!

#9 무한 반복 자동 클레임 업그레이드!! && 토큰 잔고 확인 && 토큰 전송과 토큰 전송 내역을 텔레그램으로 받아보기!!

#10 토큰 전송내역을 검사하고, 토큰을 전송 받으면 텔레그램으로 알림을 받아보기!!

#11 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (1/2)

#12 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (2/2) 스팀엔진 토큰 임대내역 추적 완료!!

#13 웹 프로그래밍의 시작!! 파이썬을 이용하여 정보를 MySQL 데이터 베이스에 저장해보기!!

#14 파이썬을 이용하여 데이터베이스로부터 정보를 가져오기 && 스팀코인판 3대풀 임대내역 데이터베이스 작업 완료!!

#15 웹 프로그래밍을 이용하여 스팀코인판 3대조합의 임대 내역을 웹으로 확인해보자 !!

#16 스팀엔진 최신 블록을 검사하여 필요한 정보를 데이터베이스에 저장하기!! 3대 조합의 임대내역을 최신으로 저장하기!!

#17 조합들이 필요한 기능 드디어 완성!! 자동 클레임과 자동 분배 기능!!

#18 스팀코인판 3대 조합의 임대내역과 실시간 예상 분배 금액을 웹으로 확인해보자!!

#19 어제 만든 프로그램 업그레이드!! 개별 상세내역보기 기능 추가!!

#20 시행착오... 그리고 시련... 하지만 원사마님 덕분으로 엄청난 레벨업!! 감사합니다. 더욱 발전하겠습니다.

#21 레벨업을 했지만 또 다시 찾아온 시련!! 프로그램 결과와 블록체인에 기록된 결과가 다르다!! 어떻게 해야 할까...

#22 오늘부터 새로운 도전!! 자동 보팅 만들기!! 그 첫번째 스팀코인판의 소각글에 자동보팅을 해보자!! 첫번째 시간 (1/N)

#23 스팀코인판의 소각글의 정보를 가지고 와서 자동보팅을 해보자!! 그 두번째 시간 (2/N)

#24 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드!!

#25 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드 2!! 그리고 개발 예정 사항 공개!!

#26 드디어 첫 실전 가동 준비중... 스팀코인판 유니온 조합의 수익 자동분배 작업 완료중...

#27 스팀코인판 유니온 조합 첫 자동 분배 결과!! 그리고 보완!!

#28 스팀코인판 유니온 조합 자동 분배 프로그램의 결과를 웹으로 확인해 보자!!

#29 스팀코인판 유니온 조합 자동 분배 상황을 텔레그램으로 확인!! 임내 확인 페이지 정렬 기능 추가!!

#30 스팀코인판 조합의 임대량 페이지 정렬 기능 업그레이드!! 그리고 임대량 파이 차트 완성!!

#31 스팀코인판 조합의 하루하루 임대량 변화를 차트로 확인해보자!!

#32 트리플A를 이용하면서 그동안 번거로웠던 클레임 스테이킹 전송 작업 이젠 안녕!! 자동으로 AAA를 전송하고 클레임하고 스테이킹을 해보자!!

#33 굳헬로가 만든 스팀코인판 조합 자동 클레임과 자동 분배 프로그램 원피스 조합에도 사용 개시!!

#34 스팀코인판 조합 원피스 자동 클레임과 자동 분배 프로그램 업그레이드!! 텔레그램 봇으로 그룹 메시지를 받아보자!!

#35 스팀에서 새글 정보를 텔레그램으로 받아보자!! 함께 정보를 받아보는 텔레그램 그룹방 개설!!

#36 스팀엔진 블록 검사 놓치는 블록이 없도록 해보자!! 파일 입출력 기능 활용!!

#37 스팀엔진 블록을 검사하여 본인글의 댓글을 텔레그램 알람으로 받아보자!!

#38 드디어 완성!! 보팅 알람봇!! 스팀엔진 블록을 검사하여 본인글에 보팅이 찍히면 텔레그램 알람으로 받아보자!!

#39 파이썬과 텔레그램을 이용한 챗봇 프로그래밍의 시작!! 그 첫번째!! 챗봇과 대화를 해보고,특정 메시지에 반응을 해보자!!

#40 파이썬과 텔레그램을 이용한 챗봇 프로그래밍!! 파이썬에 CommandHandler를 사용하여 특정 명령어를 내려보자!!

#41 굳헬로의 텔레그램 보팅알람 서비스 일단은 완성!! 앞으로 다양한 기능 추가 예정!! 사용해보고 후기 남겨주세요!!

#42 업비트의 원화 마켓 코인들의 시세를 텔레그램으로 받아보자!! /get 비트코인, /get 스팀, /get 코인이름 명령어 등록!!

#43 업비트의 원화 마켓 코인들의 시세를 텔레그램으로 받아보자2!! 알려줘 비트코인, 알려줘 스팀 노노!! 이제 바로 비트코인 스팀 명령어 등록!!

#44 매일 매일 새로운 기능이 추가되고 있는 굳스팀 챗봇!! 챗봇을 이용하여 스팀엔진 토큰의 시세 정보를 받아보자!!

#45 텔레그램 챗봇을 이용하여 최신 코인 주요 뉴스를 받아보자!! 굳스팀 챗봇 소개!!

#46 굳스팀 텔레그램 챗봇 새 기능 추가!! 굳스팀 챗봇을 이용하여 최신 헤드라인 뉴스 정보를 받아보자!!

#47 뉴스를 구독해보자!! 명령어 입력없이 특정 시간 챗 봇이 뉴스를 자동으로 보내 드립니다.

#48 본격적으로 스팀코인판 조합의 자동 보팅시스템 제작 돌입!! 기본 설계 및 보팅 설정 페이지 작업 완료!!

#49 스팀코인판 조합의 자동 보팅시스템 제작 2번째 시간!! 보팅 설정에 따라 각 조합원 별로 보팅룰을 적용해 보자!!

#50 스팀코인판 조합의 자동 보팅시스템 제작 3번째 시간!! 설 정된 보팅룰을 파이썬 자동 보팅 프로그램에 가져오기!!

#51 스팀코인판 조합의 자동 보팅시스템 제작 4번째 시간!! 블록을 검사하여 설정된 보팅룰로 보팅하기!!

#52 스팀코인판 조합의 자동 보팅시스템 제작 5번째 시간!! 자동 보팅시스템 테스트 현황!! 굳!! 따봉~~

#53 스팀코인판 조합의 자동 보팅시스템 제작 6번째 시간!! 보팅룰 검사 프로그램과 자동 보팅 프로그램의 분리!!

#54 스팀코인판 조합의 자동 보팅시스템 제작 마지막 시간!! 드디어 실전 가동!! 오류 수정 및 보팅 현황 확인 웹 페이지 제작 완료!!

#55 이번에는 유니온 조합의 자동보팅 시스템을 만들어 보자!! 유니온 조합의 보팅설정 프로그램과 보팅 설정 결과 확인 기능 완료!!

#56 스팀 블록을 검사하여 유니온 조합의 조합원 글에 보팅 룰셋 적용 및 자동 보팅 수행!!

#57 유니온 조합 우량 임대자 우대 조치!! 특별 규칙에 따른 보팅 설정 적용!!

#58 유니온 조합 자동 보팅 프로그램 테스트 결과 성공!! 보팅 현황을 확인할 수 있는 웹 페이지 추가 완료!!

#59 새로운 프로그램 공부를 시작!! 스팀몬스터 자동화를 위해 스팀몬스터 API를 분석해보자!! 그 첫시간!!

#60 스팀몬스터 사용자 정보를 출력해보고, 사용자가 가진 카드 정보를 출력해보자.

#61 조합의 자동분배 프로그램 수정 및 유니온 자동보팅 프로그램 가동 시작!! 오늘도 파이썬으로 스팀몬스터 API를 공부해 보자!!

#62 조합의 자동보팅 프로그램 업그레이드!! 오늘은 스팀몬스터 마켓의 정보를 가져오는 API를 공부해 보자!!

#63 파이썬 스팀몬스터 API를 이용하여 사용자가 보유하고 있는 모든 카드의 값을 계산해보자!!

#64 파이썬 스팀몬스터 API를 이용하여 사용자가 보유하고 있는 모든 카드의 값을 웹 프로그램으로 확인해보자!!

#65 파이썬 스팀몬스터 API를 이용하여 카드 최저가 합산 프로그램 업그레이드!! 소팅 오류 수정 및 이미디 적용 완료!!

#66 파이썬 스팀몬스터 API를 이용하여 스팀몬스터 배틀 결과 정보를 출력해 보자!!

#67 오늘은 스팀몬스터 배틀 결과 정보를 확인할 수 있는 웹 페이지를 만들어 보자.

#68 스팀몬스터 배틀 결과 정보를 이미지로 보기 쉽게 만들어보자.

#69 스팀몬스터 API get_cards_stats()과 get_card_details()를 이용하여 리워드 카드 발매 수량을 확인해 보자!!

#70 스팀몬스터 리워드 카드의 발행량과 소각량을 웹 페이지에 출력해 보자.

#71 스팀몬스터 일일퀘스트 보상으로 받은 리워드카드의 정보를 웹 페이지에서 확인해 보자.

#72 스팀몬스터 일일퀘스트 보상으로 받은 리워드카드의 가치를 웹 페이지에서 확인해 보자.

#73 오늘은 트아 형님께서 만드신 나의 스팀 자산은? 프로그램을 웹 페이지로 확인할 수 있도록 만들어 보자!!

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:  

jcar토큰 9월 구독 보팅입니다.
좋은 하루 보내세요. ^^

ㅋㅋㅋㅋ 태풍 온다는데 파전에 막걸리 먹을 생각만 하시다니... 태풍 피해없길 바래야죠!! 두손모아 꼭 기도하세욧! ㅋ

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

두손모아 기도하겠습니다~ ㅎㅎㅎㅎ

임대까지 포함하시다니 대단합니다.

Posted using Partiko Android

Congratulations @goodhello! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 10000 as payout for your posts. Your next target is to reach a total payout of 20000
You published a post every day of the week

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Loading...

Hi @goodhello!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.012 which ranks you at #3993 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 109 contributions, your post is ranked at #55.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server