2018/02/11

[btc]デフォルトのdust limitは546(2018/02/11)

Bitcoinで使用できる、voutのamount下限はいくつだっけ、といつも考えてしまう。
通常は気にしないくらいの値だが、2nd Layerとかやってると、ね。


今の時点のmasterのデフォルトでは、546satoshiでいいだろう。

https://github.com/bitcoin/bitcoin/blob/fe53d5f3636aed064823bc220d828c7ff08d1d52/src/test/transaction_tests.cpp#L695

BOOST_CHECK_EQUAL(nDustThreshold, 546);



固定値なら「546」で検索すれば出てきたのだろうが、どうやら計算して得るものらしい。
将来変わるかもしれんので、masterの方のリンクも載せておこう。
行は変わるかもしれんが、nDustThresholdで検索すればいいんじゃないかね。

https://github.com/bitcoin/bitcoin/blob/master/src/test/transaction_tests.cpp#L695



APIとしてはこれだろうか。
https://github.com/bitcoin/bitcoin/blob/5961b23898ee7c0af2626c46d5d70e80136578d3/src/policy/policy.cpp#L18

推測に推測を重ねてしまうが、判定はここか。

https://github.com/bitcoin/bitcoin/blob/5961b23898ee7c0af2626c46d5d70e80136578d3/src/policy/policy.cpp#L52-L55

bool IsDust(const CTxOut& txout, const CFeeRate& dustRelayFeeIn)
{
    return (txout.nValue < GetDustThreshold(txout, dustRelayFeeIn));
}

だとすると、546未満がNG、ということになるな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。