本文转自: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手续费计算,如何设置手续费的更多相关文章

  1. 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统

    一.要求 二.思路 1.购物类buy 接收 信用卡类 的信用卡可用可用余额, 返回消费金额 2.信用卡(ATM)类 接收上次操作后,信用卡可用余额,总欠款,剩余欠款,存款 其中: 1.每种交易类型不单 ...

  2. 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算

    引言 在Android开发中,我们有时会需要使用ScrollView中嵌套ListView的需求.例如:在展示信息的ListView上还有一部分信息展示区域,并且要求这部分信息展示区域在ListVie ...

  3. CFD计算

    47 求解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应 ...

  4. Android 设置闹铃步骤和基础代码

    主要分三步: 1. 设置闹铃时间; 2. 接收闹铃事件广播; 3. 重开机后重新计算并设置闹铃时间;   1. 设置闹铃时间(毫秒) private void setAlarmTime(Context ...

  5. PCB参数计算神器-Saturn PCB Design Toolkit下载及安装指南

    进行PCB设计,特别是高频高速设计时,难免会涉及到PCB相关参数的计算及设置,如:VIA的过流能力,VIA的寄生电容.阻抗等,导线的载流能力,两相互耦合信号线间的串扰,波长等参数. 这里向大家介绍一款 ...

  6. UITableViewCell 高度计算从混沌初始到天地交泰

    [原创]UITableViewCell 高度计算从混沌初始到天地交泰 本文主要基予iOS UITableViewCell 高度自适应计算问题展开陈述,废话少说直入正题: UITableView控件可能 ...

  7. SqlServer中计算列详解

    计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值.比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值, ...

  8. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...

  9. 根据文字计算出label的高度

    ios7.0之前用: [strtestsizeWithFont:ContentFontconstrainedToSize:CGSizeMake(ScreenWeight -20, 1000) line ...

随机推荐

  1. struts2 升级至2.3.32时访问页面报错 File "/struts-tags" not found

    Apache struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品: struts 1和str ...

  2. EF学习笔记(七):读取关联数据

    总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文链接:Reading Related Data 本章主要讲述加载显示关联数据: 数据加载分为以下三种 Lazy l ...

  3. mysql客户端连不上数据库

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges ...

  4. Flask框架(二)

    request @app.route('/requests/', method=['GET', 'POST']) def req(): print(request.data) #请求方式 print( ...

  5. querySelectorAll选择器的js实现

    自从标准浏览器增加了querySelector这个类JQ的方法后,选择一个元素变成了一件so easy的事情.但是某些浏览器还是不支持.使用jq库又有点太大,其实可以自己动手实现这个选择器,具体代码如 ...

  6. 关于isNaN()函数的细节

    根据<JavaScript高级程序设计>的解释,NaN,即非数值(Not a Number),用于表示一个本来要返回数值的操作数未返回数值的情况,例如5/0就会得到NaN. 而因为NaN的 ...

  7. Appium + Java 测试 [百度地图] APP的一段简单脚本

    1. 流程 进入 app ,手动处理前段预处理,程序一直等候到达指定搜索地名页面,填入[南通大学],点击[搜索] 2. Java 脚本 // part 1: 引入需要的包 import io.appi ...

  8. eclipse安装及配置pydev

    1.首先安装jre,这里记住jre的安装目录,32位操作系统默认安装在“C:\Program Files (x86)\Java\jre1.8.0_91” 2.配置eclipse,这里使用的是压缩包不需 ...

  9. Jenkins常见REST API(便于将Jenkins集成到其他系统)

    1.运行job a.无参任务 curl -XPOST http://IP:8080/jenkins/job/plugin%20demo/build --user admin:admin b.含参任务 ...

  10. GitHubPopular运行记录

    运行前准备: Android SDK 23.0.3 2.gradle-2.14.1-all 网盘地址 开始运行 按照项目描述中所说 npm i ------- ok react-native run- ...