专栏首页申龙斌的程序人生交易被堵?试试这几种办法

交易被堵?试试这几种办法

12月初的时候,比特币价格爆涨,我并没有打算卖出,而且把币转到冷钱包,准备领BTG糖果给自己发个年终奖。行情太好也很烦人,比特币的交易费也是高得让人无法接受,转到冷钱包的交易就花了我0.0027 BTC,为了安全地领取糖果,这几百元也就忍了。

但另外一件发币的事情就有点让人发狂了,因为以前说起过《金炜搞了一件大事》,现在联合挖矿的规模不断扩大,每10天要给200多人发币,工作量可不轻。金老板整天要处理场地、机器、供电等事务,不堪重负,把发币的重任交给我来办。

我写的C#发币程序已经更新到了2.2版本,基本原理并不复杂,就是用BitcoinLib调用Bitcoin Core的RPC接口,根据每人参与的份额把所有的发币操作放在一笔交易中,这样不仅发币效率大大提高(1分钟之内搞定),还节省了大笔的手续费。

以这笔交易为例(txid为7ae1fd5dc58bbeb7680d2d31931a15408cfb1e2898fca4b6eaf348e5d830a8b2),同时给100多人发币,手续费只用了0.0003 BTC,平均每人手续费为0.000003 BTC,还不到1元钱。

不过这种幸福的日子没过多久,比特币的区块链严重拥堵,12月16日发出的这笔交易(txid为d7028391bbb41415ed1c837a1eb8e03b3583cbd22486529dc2d1890327bb903f)仍按往常一样将手续费设为0.0003 BTC,所有的矿池都拒绝受理,至今仍为零确认。

这笔交易不仅堵在比特币网络里,更是堵在我的心头,不除之不快。

交易加速的几种方法

这种事情当然不能用X度了,我直接用google,关键词用“transaction stuck”,最权威的一篇贴子在bitcointalk.org上,请访问外国网站访问这个网址:

https://bitcointalk.org/index.php?topic=1802212.0

交易被堵住的最主要原因就是手续费设置得太低,矿池是逐利的,优先挑选高额手续费的交易打包,而行情火爆,你的交易可能永远排在队伍的最末尾,也就是永远无法被打包。

1)等待

如果你不会一些高级操作,就只能等待了,如果运气特别好,几天后可能会被确认。或者,过了很久,让整个比特币网络忘记了你的这笔交易,你可以重新发起一笔新的交易。不过,我的那笔交易等了10多天,没看到任何被确认的迹象,也没看到被清除的可能性。

2)找矿池加速

有些矿池提供交易加速的服务,比如 https://pool.viabtc.com/tools/txaccelerator,但免费加速的名额非常有限,收费服务大概按每KB支付0.01 BTC计算,像我们的5000字节的交易,大概要花0.05 BTC,不知道最近加速服务的行情是不是也上涨了?

3)Replace-By-Fee (RBF)

这种办法实际上是一种双重支付(Double-Spend),后面发起的交易可以提高手续费,在Bitcoin Core 0.15版本中提供了界面可以进行这种操作,但前提是发起交易时要加上Replace-By-Fee选项。

我转币到冷钱包的那笔交易就是用的这种办法,但在调用RPC接口的程序中并没有用这个选项,这种办法也不成。

4)发起Child-Pays-For-Parent 交易

这种交易的意思是,被堵的交易作为父交易,里面的输出项是0确认的,但你有私钥可以控制,这样你可以发起一个子交易,用父交易中的一个未确认的输出当作新交易的输入,而交易费必须给足,让矿池愿意打包,打包子交易时会一起把父交易打包。

我最后采用的就是这个办法,父交易为5400字节(txid为7b02b4066ab66fc965a897a5f72414f886a8fd150245f8acf0ab1cafcb414ca4),我又发起了一个子交易为8000字节(txid为756d5afa45c5ef9a9ce2725de54f8538f4993e8156576ddeb9be34e6c45f2819),总共约13 KB,按当时交易费行情大概为0.004 BTC/KB,我应该设置手续费为0.052才是安全的。

我最后采用了0.056的手续费,再加上父交易的0.0015,总共为0.0575 BTC,看来找矿池加速也就这个价。不过,我在加速交易的同时,还完成了给200多人发币的任务。

堵了几天的交易终于被清除了,今天终于可以睡个安稳觉了。

--- END ---

本文分享自微信公众号 - 申龙斌的程序人生(slbGTD)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 三角套利分析

    搬砖是币圈中一种常见的套利方式,主要利用两个交易所之间的币币交易对的价格差,低买高卖来获利,随着参与人数的增多,现在市面上的手工搬砖基本上没有机会了,全是搬砖机...

    申龙斌
  • 21天挑战:日更100字

    每天写100字,看似简单,但写出来一些自己在一天内真实的心得,还真不容易。如果在一天内自己的认知发生了一些改变,并且用100字记录了下来,事后回顾这些文字,一方...

    申龙斌
  • 熊市结束的信号?

    BTC的历史最高点出现在2017年12月,接近20000$,最近的一个最低点是2018年12月,大概为3200$,跌掉了80%多。

    申龙斌
  • 实现比特币BTC交易重发(Opt-In Replace-by-Fee,Opt-In RBF)

    当你的交易因为交易费用过低而迟迟不能被节点确认,而又没有被节点抛弃的时候,你可能需要交易重发这个功能。而交易重发实际上就是,将保存在节点交易内存池中的你的交易(...

    sickworm
  • R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用

    看来我们的数据库中有固定成本索赔。在标准情况下,我们如何处理?我们可以在这里使用混合分布,

    拓端
  • Andriod基础——Adapter类

    Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View,因为layout五花八门,很多数据都不能直接绑定上...

    mukekeheart
  • 解决EventBus中接收方法中无法更新UI的问题

    用户2032165
  • 快速学习-EasyExcel背景介绍

    虽然POI是目前使用最多的用来做excel解析的框架,但这个框架并不那么完美。大部分使用POI都是使用他的userModel模式。userModel的好处是上手...

    cwl_java
  • 佳能10TB用户数据被盗,云照片和视频存储服务被迫中断6天

    “在此过程中,Maze 会从服务器和备份中窃取未加密的文件,并将之上传到攻击者指定的远程服务器。

    数据猿
  • 打破国外垄断,开发中国人自己的编程语言(1):编写解析表达式的计算器

    本文是《打破国外垄断,开发中国人自己的编程语言》系列文章的第1篇。本系列文章的主要目的是教大家学会如何从零开始设计一种编程语言(marvel语言),并使用mar...

    蒙娜丽宁

扫码关注云+社区

领取腾讯云代金券