Ich schaue mir die Bitcoin-Github-Geschichte an. Ich versuche, den Commit zu finden, bei dem OP_RETURN als Standard-TX akzeptiert wurde. Dies wurde in das Änderungsprotokoll für Bitcoin Core 0.90 aufgenommen. Jede Hilfe wäre willkommen.
Ich schaue durch den Skriptlöser und sehe, wo OP_RETURN als Typ in der Vorlage enthalten ist, sehe aber nicht, wo es für einen Nulldatenfall wahr zurückgibt.
Vielen Dank.
Dies ist die PR, die OP_RETURN-Ausgaben zum Standard gemacht hat:
Die Verpflichtung:
https://github.com/jgarzik/bitcoin/commit/a79342479f577013f2fd2573fb32585d6f4981b3
Der aktuelle Code:
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));
Hier:
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));