Ich entwickle eine Anwendung auf der Bitcoin-Blockchain und verwende Ausgabetransaktionsskripte, die nicht dem Standard der klassischen Zahlungsmethoden entsprechen. Trotzdem funktioniert auf Tesnet alles einwandfrei, aber ich habe kürzlich auf der Bitcoin-Site Folgendes gelesen:
Anscheinend lockert Tesnet also einige Beschränkungen für Transaktionsskripte, aber es spezifiziert nicht viel mehr. Also, jetzt habe ich keine Möglichkeit zu wissen, ob solche Ausgabetransaktionsskripte im Mainnet akzeptiert werden könnten, außer indem ich einige Bitcoins mit Geld kaufe, das ich wirklich nicht habe, und ich fange auch an, mich zu fragen, was der Zweck ist das Testnetz, wenn sein Verhalten nicht das des realen Netzes widerspiegelt, und, noch schlimmer, was ist der Zweck einer Skriptsprache mit so vielen Anweisungen, wenn Sie tatsächlich nur einige davon verwenden können. Kann mir jemand nähere Informationen zu all dem geben? Vielen Dank im Voraus.
Standardausgabeskripte werden durch IsStandard() definiert (das Solver() aufruft, um den eigentlichen Skriptabgleich durchzuführen). Die Standardausgabeskripte lauten wie folgt:
Jedes andere Skript ist nicht standardmäßig und die gesamte Transaktion wird als nicht standardmäßig zurückgewiesen.
Anstatt zu versuchen, ein nicht standardmäßiges Ausgabeskript einzufügen, können Sie stattdessen P2SH oder P2WSH verwenden. Ihr Ausgabeskript wird zum Einlösungsskript oder Zeugenskript, das alles sein kann. Mit P2SH und P2WSH können Sie genau die gleichen Dinge tun, als ob sich das Skript in einem Ausgabeskript befände.
Wenn Sie immer noch darauf bestehen, dass Ihr nicht standardmäßiges Skript in der Ausgabe enthalten ist, müssen Sie einen Miner finden und ihm Ihre Transaktion auf andere Weise geben, damit Ihre Transaktion gesendet und abgebaut werden kann. Nicht standardmäßige Transaktionen werden nicht weitergeleitet und die meisten Knoten akzeptieren sie nicht. Sie müssen Ihre Transaktion einem Miner geben, der nicht standardmäßige Transaktionen akzeptiert, und es ist sehr wahrscheinlich, dass Sie dies außerhalb des Bandes tun müssen, dh über eine Form der Kommunikation, die nicht das P2P-Netzwerk ist.
Sie können Ihre nicht standardmäßigen Ausgabeskripts jederzeit in p2sh/p2wsh-Ausgabeskripts einpacken, die als Standard erkannt und von Knoten im Netzwerk weitergegeben werden.
Daniel
Andreas Chow