오늘 업데이트된 voter 별 voting 금액, 소스로 본 voting 영향도
sct·@realmankwon·
0.000 HBD오늘 업데이트된 voter 별 voting 금액, 소스로 본 voting 영향도
안녕하세요 @relamankwon입니다. 금일 제가 소스투고로 pr 올린 voter list 를 스팀엔진측에서 추가로 변경한 것 같습니다. 안보이던 voter 별 voting 금액이 나오네요. 제가 작성한 소스에 추가로 뭔가 작업을 해서 올린게 개인적으로 참 고무적이네요 ^^ 암튼 저도 해당 기능을 넣기 위해서 애를 많이 썼었는데 결국은 제 소스에서는 해당 기능을 제대로 구현하지는 못했었습니다. 그래서 비교를 해 보았습니다. 왼쪽이 현재 스코판이고 오른쪽이 제가 개발한 소스를 적용한 중국 개발자의 사이트입니다.  일단 순서는 둘다 동일하지만 voting 금액은 다릅니다.  주황색 표시를 한 것이 voting 금액이 더 적게 표시된 것입니다. 그 이유를 찾기 위해 소스를 뒤져봐습니다. Steem Engine과 저의 소스는 Voter List 를 정렬하는 방법은 동일하기에 순서는 동일할 수 밖에 없습니다. const avotes = active_votes.toJS(); avotes.sort( (a, b) => Math.abs(parseInt(a.rshares)) > Math.abs(parseInt(b.rshares)) ? -1 : 1 ); voting 한 rshares로 내림차순 정렬을 한 것입니다. 때문에 제가 제일 처음 작성한대로 다음의 수식으로 계산을 하면 정렬한 순서대로 voting price 가 정렬될 것입니다. pending_token * voter_rshares / total_rshares 하지만 스팀엔진 측에서 작성한 소스는 다음과 같습니다. let currRshares = 0; for (let i = 0; i < avotes.length; i++) { const vote = avotes[i]; vote.estimate = ( (applyRewardsCurve(currRshares + vote.rshares) - applyRewardsCurve(currRshares)) / Math.pow(10, scotPrecision) ).toFixed(scotPrecision); currRshares += vote.rshares; } avotes 는 voter list 인데 voting을 한 순서대로 입력이 되어 있을 겁니다. 일단은 voting 순서가 영향을 끼칠 거라는 것을 수식을 보면 짐작할 수 있습니다. applyRewardsCurve 함수를 한번 살펴보겠습니다. const applyRewardsCurve = r => Math.pow(Math.max(0, r), rewardData.author_curve_exponent) * rewardData.reward_pool / rewardData.pending_rshares; 입력한 값을 author_curve_exponent(1.3) 승한 후에 reward_pool 을 곱하고 pending_rshares로 나누어 줍니다. 이때 입력한 값은 계산할 순서의 voter까지의 voting 한 rshares의 합입니다. 예를 들면 30명의 voter가 있고 이것을 다음과 같이 나열합니다. >v1, v2, v3, ................, v30 v1 이 계산될 때 입력값= 0 + v1 v2 가 계산될 때 입력값 = 0 + v1 + v2 v3 가 계산될 때 입력값 = 0 + v1 + v2 + v3 . . . v30 이 계산될 때 입력값은 = 0 + v1 + .... + v30 그렇다면 내가 payout 되는 글에 미치는 영향력은 1) voting 하기 전에 예상 voting 금액이 많을수록 2) 늦게 voting을 할수록 더 커짐을 알 수 있습니다. 글 전체에 대한 내 voting의 영향력은 알겠는데 내가 받는 Curator 보상은 얼마인지는 어떻게 알 수 있을까요? 궁금해 지는군요. 관련해서는 소스가 없는지 한번 찾아 보고 싶네요. 그런데 글 작성을 끝내고 나서 생각하니 voter list 정렬하는 걸 rshares가 아닌 estimate로 변경하면 voter 별 voting 금액에 따라 정렬이 될 것 같네요. 저것도 pr을 한번 올려봐야겠습니다. ^^
👍 zero-profit, beetlevc, imisstheoldkanye, foodology, supu, funtraveller, mehta, stupid, sct.down, anpigon, talken, steemory, pigoncchio, aaronli.sct, dcommerce, wonsama, wonsama.sct, sct.dean, deralios, busy.pay, aaronli, honeybeerbear, sct.tom, appicscommunity, wacol413, lovelyyeon, deer3, bumblebee2018, team2p, talkit, ramires, stpeople, ssc-token, vip, yjs3694, sct.jac, sct.cu13, sct.cu12, goodhello, sct.cu6, lovelyyeon.sct, sct.cu15, proof-of-work, yann03, cyberrn.sct, sct.cu7, jungch98, tradingideas, happyberrysboy, ukk,