热点新闻
比特币生态开发 - UTXO 的那些坑
2024-01-27 18:18  浏览:449  搜索引擎搜索“手机财发网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机财发网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

0x00 为啥会有坑

哈哈,有路的地方,就会有坑...

比特币生态今年意外爆发,我有幸也参与了一些比特币生态项目。比特币这个东西,因为没有智能合约,给人一种假象,以为做比特币开发就是调用一些接口和比特币开发库,但真正做进去,就会碰到各种想象不到的坑,精彩纷呈。

0x01 Too many unspent transaction outputs

如果还没碰到过这个问题,大概率是你做的应用还没有资深玩家在用...

构造比特币交易,第一步要做的就是获取 UTXO,如何获取 UTXO 呢?
mempool.space 提供的有个现成的接口:https://mempool.space/api/address/1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY/utxo
免费又方便,正常使用也没啥问题,直到有一天,不断有用户抱怨说应用用不了,然后自己怎么试怎么是好的,最后把用户地址要过来,发现获取 UTXO 这步就出错了。

怎么办?

  1. 换供应商
    mempool.space 有限制,其它比特币浏览器是不是会好呢?你可以尽管去尝试,按我们的经验,免费供应商最多能返回的 utxo 是 2500 个。

  2. 自己搭节点
    这其实也有几个选项,一个是自己搭比特币节点去跟踪存储所有的 UTXO,一个是自己去跑个 mempool.space 开源代码,可能都没那么轻松

有没有更方便的做法呢,也是有的

0x02 把资产当矿工费花了出去

这是另外一个初做比特币生态经常碰到的问题。这次比特币生态带来的最大变化,就是让很多看起来普普通通的铭文,有可能附带有价值连城的铭文。这就要我们在花费 UTXO 的时候格外小心。

  1. 目前铭文的 UTXO 大多是 546 聪,还有一些是 330 聪,293 聪,一般来说最大步会超过 10000 聪,这里可以做个简单的过滤,只花费大于 10000 聪的 UTXO
  2. 如果做更精细的筛选,就要自己把 UTXO 和铭文索引放在一起进行过滤了,这个如何做的效率更高是个技术活

0x03 花费未确认的 UTXO

比特币是允许使用未确认的 UTXO 来支付的,我们在铭刻铭文的时候经常这样做。但是有两个限制是要注意的:

  1. 比特币对未确认 UTXO 的反复使用是有限制的
  2. 如果前面某个 UTXO 由于矿工费太低迟迟得不到确认,后面的一连串交易都不会轻易得到确认

0x04 UTXO 投毒

出于某些特别原因,有人可能会往你地址里发送一笔小金额面值的 UTXO,但这个 UTXO 级连带了很多未确认的交易,这个被称为 UTXO 投毒。
当你不小心用了这个 UTXO,就中毒了。中毒后的典型表现就是你发出去的交易迟迟得不到链上确认,需要花比预期多很多的矿工费来解毒。

0x05 UTXO 合并

当你钱包里有几万甚至几十万个 UTXO 的时候,你会发现想把这些钱转出去并没那么容易,相当于自己有一卡车的硬币,一个个的花费太费事,大部分钱包也不支持一次性转太多 UTXO。

0x06 后记

UTXO 这东西有很好用的地方,比如很容易实现批量发送。但也有不少坑,从以太坊赛道过来的同学很容易掉坑里。

发布人:1a48****    IP:124.223.189***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发