[转]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 ...
随机推荐
- 基于fpga的vga学习(3)
本次学习如何通过vga发送数字.文字.字母, 首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下 这里可以看出,建模将数据装换成0和1,一个字母用16x8 ...
- wxPython 的简单框架实例
#coding:utf-8 import wx def load(event): file = open(filename.GetValue(),'r') contents.SetValue(file ...
- Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2)
A: 思路:就是找b,c之前有多个s[i] 代码: #include<stdio.h>#define ll long longusing namespace std;ll a,b,c;in ...
- Python中用random产生随机数的用法
>>>random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 >>>random.unifo ...
- 《HTTP权威指南》6-代理
Web的中间实体 HTTP的代理服务器既是Web服务器又是Web客户端,它既需要正确地处理从客户端发来的请求和连接,返回响应,有需要向服务器发送请求,并接受响应. 私有和共享代理 代理服务器可以是某个 ...
- Pyhon学习笔记-基础3
文件操作 1.基本操作 f = open("filename","r",encoding="utf-8") #打开文件,以r模式,字符编码模 ...
- Android NDK学习(二):编译脚本语法Android.mk和Application.mk
一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. i ...
- Eclipse 中构建 Maven 项目的完整过程 - 动态 Web 项目
进行以下步骤的前提是你已经安装好本地maven库和eclipse中的maven插件了(有的eclipse中已经集成了maven插件) 一.Maven项目的新建 1.鼠标右键---->New--- ...
- 简单读!Mybatis源码(一)一条select的一生
工具除了会用,还应该多做点.我觉得使用一个软件工具(开源类),一般会经历几个步骤: 1. 通过wiki了解大致作用,然后开始码代码: 2. 系统性地学习其特性,找出可能需要的点,用上去: 3. 通过阅 ...
- java实操之使用jcraft进行sftp上传下载文件
sftp作为临时的文件存储位置,在某些场合还是有其应景的,比如对账文件存放.需要提供一个上传的工具类.实现方法参考下: pom.xml中引入类库: <dependency> <gro ...