百度超级链Xuper关于金额相关问题(3)

简介: 百度超级链Xuper关于金额相关问题(3)

image.png


结论


当手续费来源账户和流向账户是同一个账户的时候 账户余额为


账户初始金额+出块高度x出块奖励-转账金额


上面的公式并没有将手续费计算在内


咱们再来一个测试来印象下


刚才不是手续费来源账户和目的账户是同一个账户嘛


那咱们测试下让手续费来源账户和目的账户是不一个账户的情况


  • 先创建一个普通账户


./xchain-cli account newkeys --output data/bob
a1E2v3RHtLHhE7N4yRgcrsfsDdMsjQFm9


  • 通过节点账户给这个普通账户转点钱


image.png


来源账户是这个普通账户a1E2v3RHtLHhE7N4yRgcrsfsDdMsjQFm9


初始金额是刚才转给它的1000000000这么多钱


目的账户 1、手续费1000元给到了 $ 这个出块节点地址


2、剩余的999999000钱又回到了来源地址中a1E2v3RHtLHhE7N4yRgcrsfsDdMsjQFm9


  • 看下普通账户余额和节点账户余额(确认下手续费有没有转给节点账户)


./xchain-cli account  balance a1E2v3RHtLHhE7N4yRgcrsfsDdMsjQFm9
999999000


余额是999999000说明手续费已经扣掉了


通过区块id查询区块详情已确认出块奖励去了哪个节点账户 (当然这里咱只用的一个节点进行测试的)


image.png


余额是这么个值 99999999999913801000


咱计算下这个值是否符合预期


初始金额是 100000000000000000000


创建了一个合约账户手续费1000(来源账户和目的账户是一个地址 不计算在内)

给合约地址转账100000


又转账了一笔 100000  手续费100(来源账户和目的账户是一个地址 不计算在内)

创建了一个普通账户


给普通账户转账了 1000000000


普通账户创建了一个合约账户 手续费1000给到了节点账户


100000000000000000000-100000-100000+1000-1000000000=99999999998999801000


这个值是不包含出块奖励在内的值


当前的出块高度1101


99999999998999801000+1101000000=100000000000100801000


金额正好可以匹配上


通过合约账户部署合约


期望:手续费来源于合约账户,手续费给到节点账户(出块节点)


先给合约账户XC1111111111111111@xuper转账 1000000000


./xchain-cli wasm deploy --account XC1111111111111111@xuper --cname hello_last_17  --fee 5574291 --runtime go /Users/mengfanxiao/Documents/project/company/XinPools_INFO/document/business/baidu/20200714-最新版本/xuperchain/core/contractsdk/go/example/eleccert_final/eleccert_final.wasm -a '{"creator":"mengfanxiao"}'
contract response: 
The gas you cousume is: 5206429
The fee you pay is: 5574291
Tx id: f7392917ed5691ed40b3756b0b562e5dc54994052cafd7894fc21e17524b4231



image.png


来源账户是合约账户 XC1111111111111111@xuper

初始金额是 1000000000

最终金额 994425709

手续费是 5574291 转给了出块节点账户

查询节点账户余额为99999999999322375291

分析下这个金额是否正确

1、刚才计算的金额是 100000000000100801000

2、给合约账户XC1111111111111111@xuper转了1000000000

3、收到手续费 5574291

100000000000100801000-1000000000+5574291=99999999999106375291

100000000000100801000这个所对应的区块高度是 1101

目前高度是 1356

目前账户金额 99999999999361375291

99999999999106375291+(1356-1101)x1000000=99999999999361375291

金额完美匹配哦


通过调用合约交易


期望:账户来源是节点账户,手续费专项节点账户,即目前的余额的增加只包含出块奖励 没有手续费 ,因为手续费抵消了嘛



image.png


目前最新高度1485


最新余额 99999999999490375291


刚才计算的金额 99999999999361375291 对应的高度1356


99999999999361375291+(1485-1356)x1000000=99999999999490375291

正好对应


感谢


感谢百度链超哥的技术支持🙏



相关文章
百度超级链Xuper关于金额相关问题(2)
百度超级链Xuper关于金额相关问题(2)
216 0
百度超级链Xuper关于金额相关问题(2)
|
Java 区块链
百度超级链Xuper关于金额相关问题(1)
百度超级链Xuper关于金额相关问题(1)
223 0
百度超级链Xuper关于金额相关问题(1)
|
4月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
192 10
|
4月前
百度搜索:蓝易云【什么是HTTP长轮询?】
现在,HTTP长轮询逐渐被WebSocket等更高效的实时通信技术所替代,但了解HTTP长轮询仍然有助于理解实时数据推送的基本原理。
116 9
|
4月前
|
移动开发 Shell Linux
百度搜索:蓝易云【Shell错误:/bin/bash^M: bad interpreter: No such file or directory】
将 `your_script.sh`替换为你的脚本文件名。运行此命令后,脚本文件的换行符将被转换为Linux格式,然后就可以在Linux系统上正常执行脚本了。
65 8
|
4月前
百度搜索:蓝易云【ipmitool配置BMC的ip】
以上操作将配置BMC的IP地址为新的值。请注意,操作BMC需要谨慎,确保你对服务器有足够的权限,并且仔细检查新的IP地址、子网掩码和默认网关,以免导致服务器网络失联。
81 7
|
4月前
|
Kubernetes 应用服务中间件 nginx
百度搜索:蓝易云【使用Kubernetes部署Nginx应用教程】
现在,你已经成功在Kubernetes集群上部署了Nginx应用。通过访问Service的外部IP地址,你可以访问Nginx服务。
77 4
|
4月前
|
缓存 网络协议 Linux
百度搜索:蓝易云【解决github push/pull报错443】
通过以上方法,你有望解决GitHub push/pull报错443的问题。如果问题仍然存在,建议检查GitHub的状态页面,看是否有正在维护或故障的情况。
124 3
|
4月前
|
Linux Perl
百度搜索:蓝易云【Linux常用命令awk】
以上仅是awk命令的一些常见用法,它还有许多更复杂的功能和用法,可以根据需要灵活运用。awk在文本处理和数据分析中非常实用,是Linux系统中的一把利器。
48 2
|
4月前
|
编解码 应用服务中间件 nginx
百度搜索:蓝易云【基于Nginx与Nginx-rtmp-module实现】
综上所述,基于Nginx与Nginx-rtmp-module的组合,可以搭建一个功能强大的流媒体服务器,用于实现直播和点播服务。
72 1