[转]BTC手续费计算,如何设置手续费
本文转自:https://blog.csdn.net/servletcome/article/details/81941334
首先BTC的交易手续费和交易金额是没有关系的。不要误认为交易的金额越大手续费越高;
BTC的手续费每个时间段是不一样的 它取决于你交易产生的字节数大小和当时交易池内的数据量多少;
字节数,字节数代表着你这笔交易打包的大小,单位是byte
字节数的计算公式是 input*148+34*out+10
以下图为例:
input的就是输入的地址数量红色部分 input=1
out就是输出的地址数量蓝色的部分 out=2
字节数大小就是黑色的部分 也就是计算呢公式 : 1*148+34*2+10=226
字节数我们计算出来了但是怎么算手续费呢?
手续费=字节数* X satoshis / byte
X的取值是我们自己设置的,那到底设置多少合适呢?
这个要根据当时交易池内的交易数量来定了,矿工优先打包字节费给的高的因此我们只要获取当时satoshis / byte是被优先打包的就可以;
下图为例:
红色部分代表satoshis / byte 和多少时间内被确认,我们选择最优的13satoshis / byte 那么我们最有可能的交易下一个区块就会被打包,相对的手续费也会变高;
查看地址: https://bitcoinfees.earn.com/
我很体贴的给你们发出API地址 : https://bitcoinfees.earn.com/api/v1/fees/recommended
{“fasterFee”:40,“halfHourFee”:20,“hourFee”:10}
fasterFee :最低费用(每个字节的satoshis),目前将导致最快的交易确认(通常为0到1块延迟)。最快确认
halfHourFee :最低费用(每个字节的satoshis)将在半小时内确认交易(概率为90%)。三个块内确认
hourFee :最低费用(每个字节的satoshis)将在一小时内确认交易(概率为90%)。六个块内确认
手续费 打包费用总结:
(in*148+34*out+10)* X satoshis / byte
当然计算出来的手续费有时候比实际的差几聪原因应该是有些币币龄比较大,输入的时候我们按照148算的,其实还有些地址是相对较小的一点的,具体是多少我不确定,曾经在一个国外的博客上看到的是144,所以有时候算出来的值会差几聪的。
原始交易也可以通过这个命令计算手续费:
fundrawtransaction
fundrawtransaction "hexstring" includeWatching # 把输入添加到交易中,直到它有足够的满足其输出的金额
此操作不会修改现存的输入,并且会添加一个找零输出到输出集中。
注:因为输入/输出已被添加,所以签名后的输入可能需要在完成此操作后重签。
使用 signrawtransaction 已添加的输入将不会被签名。
注意全部现存的输入必须在钱包中有它们前一笔输出交易。
注意所选的全部输入必须是标准格式,且在钱包中的 P2SH 脚本必须使用 importaddress 和 addmultisigaddress(用来计算交易费)。
watch-only 目前只支持 P2PKH,多签,和 P2SH 版本。
参数:
hexstring (字符串,必备)原始交易的 16 进制字符串。
includeWatching (布尔型,可选,默认为 false)选择 watch-only 的输入。
结果:
{
"hex": "value", (字符串)产生的原始交易(16 进制编码的字符串)
"fee": n, (数字)由此产生的交易费
"changepos": n (数字)添加的找零输出的位置,或为 -1
}
"hex"
BTC非原生交易设置手续费
settxfee amount # 设置交易费
原生的交易在创建的时候,设置手续费。
是否需要手续费:
比特币的数量乘以这些币在块中存在的时间(币龄,age),然后将所有的乘积加起来除以此次交易的大小(以字节为单位),计算公式:priority = sum(input_value_in__units * input_age)/size_in_bytes计算结果如果小于0.576,那么该交易就必须支付手续费。
---------------------
作者:疯狂猪
来源:CSDN
原文:https://blog.csdn.net/servletcome/article/details/81941334
版权声明:本文为博主原创文章,转载请附上博文链接!
[转]BTC手续费计算,如何设置手续费的更多相关文章
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
一.要求 二.思路 1.购物类buy 接收 信用卡类 的信用卡可用可用余额, 返回消费金额 2.信用卡(ATM)类 接收上次操作后,信用卡可用余额,总欠款,剩余欠款,存款 其中: 1.每种交易类型不单 ...
- 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算
引言 在Android开发中,我们有时会需要使用ScrollView中嵌套ListView的需求.例如:在展示信息的ListView上还有一部分信息展示区域,并且要求这部分信息展示区域在ListVie ...
- CFD计算
47 求解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应 ...
- Android 设置闹铃步骤和基础代码
主要分三步: 1. 设置闹铃时间; 2. 接收闹铃事件广播; 3. 重开机后重新计算并设置闹铃时间; 1. 设置闹铃时间(毫秒) private void setAlarmTime(Context ...
- PCB参数计算神器-Saturn PCB Design Toolkit下载及安装指南
进行PCB设计,特别是高频高速设计时,难免会涉及到PCB相关参数的计算及设置,如:VIA的过流能力,VIA的寄生电容.阻抗等,导线的载流能力,两相互耦合信号线间的串扰,波长等参数. 这里向大家介绍一款 ...
- UITableViewCell 高度计算从混沌初始到天地交泰
[原创]UITableViewCell 高度计算从混沌初始到天地交泰 本文主要基予iOS UITableViewCell 高度自适应计算问题展开陈述,废话少说直入正题: UITableView控件可能 ...
- SqlServer中计算列详解
计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值.比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值, ...
- Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...
- 根据文字计算出label的高度
ios7.0之前用: [strtestsizeWithFont:ContentFontconstrainedToSize:CGSizeMake(ScreenWeight -20, 1000) line ...
随机推荐
- Exp6 信息搜集与漏洞扫描——20164325王晓蕊
1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 2.1 各种搜索技巧的应用 2.1.1 Netcraft查询 Netcraft这个网站可以查询到特定网站的IP地址,以wei ...
- 我所理解Java集合框架的部分的使用(Collection和Map)
所谓集合,就是和数组类似——一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接 ...
- 包建强的培训课程(3):App竞品技术分析
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Chapter 7 Resources in Plug-In(1)
Activity and resource are like twin brothers. And so if the activity need to be solve in Plug-In com ...
- JavaScript实现input输入框限制输入值的功能
限制只能输入正整数 <input type="text" onkeyup="if(this.value.length==1){this.value=this.val ...
- Oracle实战笔记(第一天)
导读 笔记内容来自韩顺平老师的视频<玩转Oracle实战教程>,可以结合笔记进行观看.第一天视频中还有Oracle的介绍和安装等内容,很容易搜索到,这里就不再进行总结. 目录 1.命令行工 ...
- spring中的mybatis的sqlSession是如何做到线程隔离的?
项目中常常使用mybatis配合spring进行数据库操作,但是我们知道,数据的操作是要求做到线程安全的,而且按照原来的jdbc的使用方式,每次操作完成之后都要将连接关闭,但是实际使用中我们并没有这么 ...
- dubbo集群容错解决方案
dubbo主要核心部件 Remoting:网络通信框架,实现了sync-over-async和request-response消息机制. RPC:一个远程过程调用的抽象,支持负载均衡.容灾和集群功能. ...
- PyTorch--双向递归神经网络(B-RNN)概念,源码分析
关于概念: BRNN连接两个相反的隐藏层到同一个输出.基于生成性深度学习,输出层能够同时的从前向和后向接收信息.该架构是1997年被Schuster和Paliwal提出的.引入BRNNS是为了增加网络 ...
- 【spring boot】idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(转)
转自:https://www.cnblogs.com/sxdcgaq8080/p/7727249.html 接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p ...