Transactions

使 OP_RETURN 成為標準事務類型的程式碼在哪裡?

  • August 27, 2015

我正在瀏覽比特幣 github 歷史。我試圖找到 OP_RETURN 被接受為標準 tx 的送出。這包含在 Bitcoin Core 0.90 的更新日誌中。任何幫助,將不勝感激。

我正在查看 Script Solver 並查看 OP_RETURN 作為類型包含在模板中的位置,但看不到它在任何空數據情況下返回 true 的位置。

謝謝。

這是使 OP_RETURN 輸出標準的 PR:

<https://github.com/bitcoin/bitcoin/pull/2738>

送出:

<https://github.com/jgarzik/bitcoin/commit/a79342479f577013f2fd2573fb32585d6f4981b3>

目前程式碼:

<https://github.com/bitcoin/bitcoin/blob/v0.11.0/src/script/standard.cpp#L56-L58>

   if (GetBoolArg("-datacarrier", true))
       mTemplates.insert(make_pair(TX_NULL_DATA, CScript() &lt;&lt; OP_RETURN &lt;&lt; OP_SMALLDATA));
   mTemplates.insert(make_pair(TX_NULL_DATA, CScript() &lt;&lt; OP_RETURN));

這裡:

bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector&lt;vector&lt;unsigned char&gt; &gt;& vSolutionsRet)
[...]
   // Empty, provably prunable, data-carrying output
   if (GetBoolArg("-datacarrier", true))
       mTemplates.insert(make_pair(TX_NULL_DATA, CScript() &lt;&lt; OP_RETURN &lt;&lt; OP_SMALLDATA));
   mTemplates.insert(make_pair(TX_NULL_DATA, CScript() &lt;&lt; OP_RETURN));

<https://github.com/bitcoin/bitcoin/blob/ddd8d80c63182aefea56abf743bb9199d9602544/src/script/standard.cpp#L40>

引用自:https://bitcoin.stackexchange.com/questions/39275