比特币转账手续费计算方式与步骤
浩宇洗化公司
发表于 2022-12-3 12:46:24
113
0
0
. B% b% B2 {2 z5 h$ c; O4 q
根据转账数额及钱包内的数字货币选择策略,这要有一个计算和算法。! g2 c( g5 V r4 ~) W- o
根据转账数额确定最优的转账策略。; y7 g% P- [5 |" i
. R& {1 o0 A5 o- n) ~3 m
① 如果存在某UTXO值正好等于发送金额nValue(已包含手续费nFee),则将该UTXO加入目标交易集并返回成功
! t: E$ `1 \2 g# G
② 找出账户中UTXO值小于发送金额nValue的UTXO集vValue,并将vValue中所有UTXO值求和为nTotalLower,并找出所有UTXO值大于nValue的最小值nLowestLarger,再分两种情况/ F b/ L- u1 t4 |. B
a.2.1:nTotalLower小于nValue,如果nLowestLarger存在,则将该值对应的pcoinLowestLarger交易加入目标交易集并返回成功,如果nLowestLarger不存在,则说明“余额”不足,返回失败8 C4 k5 `+ i) {
b.2.2:nTotalLower大于nValue,则使用随进逼近法(最多1000次)找出UTXO值的和nBest最接近nValue的集合vfBest,看nBest和nLowestLarger(如果存在)谁更接近nValue,则选择谁为相应的目标UTXO集,并返回成功
+ K7 X; @; W& h0 ]3 a+ Y
2.根据最优组合策略计算出交易的字节。0 O! H0 V5 C2 Z( _( @
+ i* T/ T" @ l( |' g# }" w& l
计算公式:priority=sum(input_value_in_base_units*input_age)/size_in_bytes,计算结果如果小于0.576" ?4 ~5 t. X9 f' u
) f( ~5 o+ b" e5 c; w& @& Q
如果组合存在两个或以上的操作,则需要把组合内的操作分别计算相加,获得该笔交易的总的字节数量。
4 ~1 t0 F$ L! p# D& j, ^& I
3.根据字节和当前网络最优的手续费比例得出一个默认的手续费。
获取网络上的最新的最佳交易费率标准,并以此与2相乘计算当前最优费率:# p( X! e2 f; l; F- y
! ]% R; h8 y# w" P; c* ^; d/ k
当前交易字节最佳交易费率=推荐交易手续费。
' y. X) Q6 l7 W9 _( s
4.用户按比例自定义手续费比例。5 `* g3 b2 z7 \, {# L
# k+ I8 g8 g# {. m' I
设定推荐手续费坐标轴位置为0,优先为1,最慢为-1。滑动按钮默认位置在推荐位置。9 d0 i$ ]( T I U! {
( A) _$ L* j. U) U6 }3 Y
当用户自定义了按钮位置,则按照:8 d; \/ p/ u6 F3 Z
9 L- B, p6 G% q6 z: c2 C
推荐手续费(1+X)=用户自定义的手续费
成为第一个吐槽的人