avle 자본금에 대한 지분계산 프로그램 개발

in AVLE 코리아last year

@avle의 자본금(자체 스팀파워)에 대하여 임대자가 얼만큼의 비율로 권리를 가지는지 계산하는 프로그램을 개발하기 시작했습니다. 어제 하루 종일 자료를 검토해 본 결과 가능할 것으로 판단되어, 최대한 집중해서 2주내에 완료하는 것을 목표로 진행합니다.

지분 계산은 프로그램이 정식으로 구동되는 날부터 시작되며, 기본적으로 임대한 스팀파워와 임대일수의 곱으로 결정됩니다. 예를 들어 @avle에 3일간 100sp를 임대해다가 200sp로 임대량을 증가해서 5일이 경과했다면, 지분 비중값은 아래와 같이 될 것입니다.

100*3 + 200*5 = 1300

만약 임대자가 2명인데 한명은 비중값이 1300이고 또 다른 한명은 비중값이 2600이 나왔다면 1:2의 비율로 지분이 분할된다고 보면 될 것입니다.

이 계산을 수동으로 하는 것은 사실상 불가능한데, 이유는 스팀파워가 매일 조금씩 변하기 때문입니다. 오늘 100sp를 임대했는데 내일은 100.01sp가 되어 있는 식입니다. 따라서, 지분을 계산하려면 스팀파워가 아니라 스팀 블럭체인 내부적으로 사용되는 값인 vest를 사용해야 합니다. vest가 일정해도 vest와 스팀파워의 비율이 계속 변하기 때문에 임대량이 매일 조금씩 증가하는 것처럼 보입니다. 그러므로, 모든 계산을 vest값을 이용해서 수행하고 마지막 결과만 스팀파워로 환산하여 얻어야 합니다.

이러한 이유 때문에 사람이 손으로 계산하기에는 매우 불편할 수밖에 없고 결국 스팀 API노드와 통신을 해서 블럭체인의 데이터를 읽고 계산하는 프로그램이 필요하게 됩니다.

또 한가지 생각할 점은, 시간이 가면서 계산량이 시간에 심하게 비례하지 않아야 합니다. 당장은 괜찮아도 시간이 지나면 서버에 부담을 줄 수 있기 때문입니다. 시간에 무관하게 계산량이 일정한 것이 최상이지만 이것은 이상적인 경우이고, 비례하더라도 비례 관계가 충분히 약해야 합니다.

마지막으로, 스팀 API노드와의 통신을 최소화해야 합니다. 기존에 받은 데이터를 최대한 활용하여 같은 데이터를 여러번 API노드에 요청하는 경우를 최소화하는 것입니다. 스팀 API노드를 100% 신뢰하면서 편하게 코딩을 하면 좋겠지만, 과거의 경험으로 볼 때 이렇게 하면 API노드에도 부담을 주게 되고 응답이 제대로 오지 않아서 오동작할 가능성이 커졌습니다.

파이썬으로 혼자 이것 저것 시험도 해 보고 공부도 해 보는 소재들이 몇가지가 있었으나, 일단 모두 중지하고 앞으로 2주간 여기에 집중할 예정입니다. 설계/코딩/디버깅 과정을 2주안에 마친다는 것이 제 입장에서는 꽤 촉박한 일정인지라, 생각하지 못한 장애물을 만나면 더 늦어질 수도 있겠습니다. 어쨌든 개발을 진행해 보겠습니다.


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트


Posted through the AVLE Dapp (https://avle.io)

Sort:  

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.

Upvoted! Thank you for supporting witness @jswit.

검토가 잘 된거 같네요. 응원합니다.

감사합니다!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 65733.39
ETH 3506.40
USDT 1.00
SBD 2.51