[Steemit javascript api 사용하기 레슨6] 스팀파워 계산하기

in #kr6 years ago (edited)

안녕하세요 @fullmi 입니다.

저번 레슨5 보팅파워계산이이어 이번에는 스팀파워를 계산해 보겠습니다.

vesting이라는 단어가 생소한데요 음... 뭐라 표현할지 몰라서 그냥 기여도라고 했네요.

뜻을 아시는 분은 댓글좀 부탁드릴께요.


오늘도 어김없이 JQuery를 이용할텐데요 

우선 <head>부분에 

  <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>

를 추가해 줍니다. 그다음은

주석을 달아 놨습니다.

풀소스는 아래와 같습니다. 이번에는 구하는게 좀 복잡하네요. ㅎㅎ 별로 자료도 없고 제가 못찾는 걸까요? 암튼 구했습니다.

혹시 이해안되시는 부분이 있으시면 댓글 주세요. 감사합니다.

이번 버전은 임대받거나 임대한 이력은 계산하지 않았습니다. ^^

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="Generator" content="EditPlus®">

    <meta name="Author" content="">

    <meta name="Keywords" content="">

    <meta name="Description" content="">

    <title>Voteing Power</title>

    <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>

    <script>


        $.ajax({

            url: 'https://api.steemit.com',

            type: "POST",

            data: '{"id": 0,"jsonrpc":"2.0","method":"database_api.find_accounts","params":{"accounts": ["fullmi"]}}',

            contentType: "application/json; charset=utf-8",

            dataType: "json",

            success: function (r) {

                console.log(r);

                var response = r.result.accounts[0];

                //나의 영향력.

                var vestingShares = response.vesting_shares.amount / Math.pow(10, response.vesting_shares.precision);;

                console.log(vestingShares);

                //글로벌 프로퍼티값 가져오기

                $.ajax({

                    url: 'https://api.steemit.com',

                    type: "POST",

                    data: '{"id": 1,"jsonrpc":"2.0","method":"database_api.get_dynamic_global_properties"}',

                    contentType: "application/json; charset=utf-8",

                    dataType: "json",

                    success: function (g) {

                        console.log(g);


                        var gr = g.result;

                        //토탈기여스팀 기여도

                        var totalVestingFundSteem = gr.total_vesting_fund_steem.amount / Math.pow(10, gr.total_vesting_fund_steem.precision);

                        console.log(totalVestingFundSteem);

                        //토탈기여도

                        var totalVests = gr.total_vesting_shares.amount / Math.pow(10, gr.total_vesting_shares.precision);;

                        console.log(totalVests);

                        //스팀파워

                        var steemPower = (totalVestingFundSteem * (vestingShares / totalVests)).toFixed(2);

                        console.log(steemPower);

                        $('#contents').html(steemPower);

                    }

                })

            }

        })


    </script>

</head>


<body>

    <ul id="contents"></ul>

</body>


</html>

Sort:  

안녕하세요. ^ㅡ^ 지난번 유상임대 모집글에 신청해주신거 때문에 연락 드렸습니다.
https://steemit.com/imdae/@sdaragon9/5r6h6x-9-100sp
9일날 한분 완료될 거 같아 100sp정도 임대 가능할거 같은데 혹시 생각 있으시면 댓글남겨주세요. ^ㅡ^

다음기회에 이용할께요
감사합니다

넹 감사합니다 즐스팀 하세요 ^^~

steem 에서 제공하는 자바스크립트 라이브러리 사용안하시고 jquery사용하시는 이유가 따로 있나요???
그리고 '`' (이문자를 세번사용 ) <----이 태그? 마크다운? 사용하면 스팀에서 코드를 쉽게 표시할 수있습니다.
저도 님과 같은 식으로 보드캐스트 sychro인가 구연하는데 성공했습니
다.
저는 php로 해서 스팀잇 js라이브러를 쓸수가 없었고 curl로 님처럼 api.steem.com이랑 통신하는 방식으로 했죠.....<---( 이 방식으로 보드캐스팅 구연하려면 꽤 엄청 어렵더군요.........산넘어 산입니다....자료찾아도 옛날꺼라 틀린게 많아 왜 틀린지 스스로 알아내야 하기때문...)

전 api 문서 보고 그대로 그냥 만든거예요
다른 의도는 없고 실제로 api문서에 다 나와있으니 그대로 사용하면 돼죠^^
어디에도 종속된건 싫어서 댓글 감사합니다.^^

혹시 api.steem.com이랑 통신으로 보드캐스팅 해보셧는지 모르겠지만 브로도캐스팅 구연하는데 있어서는 스팀의 api문서는 너무 부족하던데요????
기초적으로 프라이빗키와 포스팅키구조자체가 다른 일반적인 암호화화폐들이랑 약간다른데 그것조차 개발문서에 명시해 놓지 않아 해매었고요. 약간다른 점을 명시해놓으면 얼마나 편했겠습니다만 약간 다른것 때매 프로그래머들은 해매이고 원인찾아 해결하려면 얼마나 삽질을 해야하는지.......그것 말고도 엄청 많이 있습니다.....

어 그러셨군요. 저도 난감할때가 있긴했습니다.
에고고 삽질...삽질... 힘드네요

pairplay 가 kr-dev 컨텐츠를 응원합니다! :)

감사합니다