Transactions
使 OP_RETURN 成為標準事務類型的程式碼在哪裡?
我正在瀏覽比特幣 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() << OP_RETURN << OP_SMALLDATA)); mTemplates.insert(make_pair(TX_NULL_DATA, CScript() << OP_RETURN));
這裡:
bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector<vector<unsigned char> >& vSolutionsRet) [...] // Empty, provably prunable, data-carrying output if (GetBoolArg("-datacarrier", true)) mTemplates.insert(make_pair(TX_NULL_DATA, CScript() << OP_RETURN << OP_SMALLDATA)); mTemplates.insert(make_pair(TX_NULL_DATA, CScript() << OP_RETURN));
<https://github.com/bitcoin/bitcoin/blob/ddd8d80c63182aefea56abf743bb9199d9602544/src/script/standard.cpp#L40>