最近看社区里面,按公信节点的投票票龄计算贡献值,就思考了一些方案
(票龄,用户A给节点1投100票,投3天,则A的票龄是300)
一 有效票数
余额,忠诚计划金额,待解冻余额,节点保证金
二 统计流程
《1 回溯之前的票龄
1 扫描用户名列表
2 获取历史操作列表,直到遇到第一次投票时的操作,或日志12月1号0分前的操作为止
3 获取当前余额列表(余额,锁定,待解冻,保证金)
4 按天计算票龄(当前总余额*到上个操作的天数)
5 如遇到转账,总金额减去转账余额,减去手续费.继续回溯
《2 实时监听统计票龄
1 扫描登记用户名列表
2 定时每隔1小时检查,如果给节点投票了,就获取投票数据
3 累计用户票龄(余额,锁定,待解冻,保证金),累计节点总票龄
三 涉及的工具和api
《1 api调用库
https://github.com/gxchain/gxbjs
https://github.com/gxchain/gxbjs-ws
《3 api
1 get_account_history 获取用户操作历史
2 get_full_accounts 获取用户余额详情
四 引用
http://docs.bitshares.org/api/database.html
http://docs.bitshares.org/api/history.html
网友评论