[转]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 ...
随机推荐
- ppt演讲者模式
步骤如下: 1 win+p 2 选择扩展 3 选幻灯片放映 4 设置幻灯片放映 5 显示器二 6 勾选显示演示者视图
- ionic3 百度地图插件定位 问题
每次用 cordova-pluin-baidumaploaction 每调用一次 他只会执行一次 我想循环 但是每次都会初始化 把插件的java代码98行注释就好了
- python对象的for迭代实现
第一种:__iter__ 实现__iter__的对象,是可迭代对象.__iter__方法可以直接封装一个迭代器,从而实现for循环 class A: def __init__(self): self. ...
- react整理一二(初入React世界)
react重要思想:组件化(按钮组件.对话框组件.日期组件等等).JSX语法 react把代码和正式渲染目标隔离开来,除了可以在浏览器渲染到DOM来开发网页,还能用于开发原生移动运用 1.专注视图层: ...
- 01 of lenrning python
我也打算开始写博客啦!记录一下自己的学习过程~ 01密文登陆 这个在vscode中不显示密文 在cmd中看不到密码 # -*- coding: utf-8 -*- import getpass nam ...
- finalize方法的使用
finalize()是在java.lang.Object里定义的,也就是说每一个对象都有这么个方法.这个方法在gc启动,该对象被回收的时候被调用.其实gc可以回收大部分的对象(凡是new出来的对象,g ...
- hive 数值计算函数
Hive数值计算函数 (1)round(45.666,2)作用:四舍五入,保留2位小数 ceil(45.6) 作用:向上取整 floor(45.6) 作用:向下取整 (2)rand() ...
- Virtual Networking
How the virtual networks used by guests work Networking using libvirt is generally fairly simple, an ...
- 使用jenkins自部署Coding项目
下载安装jenkins 下载地址:https://jenkins.io/download/ 安装后通过主机的8080端口进行程序设置,插件安装默认的就好 Jenkins项目目录:C:\Program ...
- PHP实现大文件下载
实现大文件下载的关键在于循环读取字节流 function downloadFile($filename) { //获取文件的扩展名 $allowDownExt = array ( 'rar', 'zi ...