Ich lese die Protokolldokumentationsseite für die Datenstruktur „tx“ und kann keine vollständig klare Definition der Datenstruktur „tx_witness“ finden.
Nach der 'tx_out'-Tabelle gibt es einen kurzen Kommentar, der besagt, dass "die TxWitness-Struktur aus einer var_int-Anzahl von Zeugendatenkomponenten besteht, gefolgt von (für jede Zeugendatenkomponente) einer var_int-Länge der Komponente und den Rohkomponentendaten selbst."
Könnte jemand eine Tabelle posten, ähnlich wie andere auf der Protokolldokumentationsseite, die klar definiert, wie eine 'tx_witness'-Datenstruktur gebildet werden sollte?
In Bitcoin Core wird die scriptWitness
Eigenschaft (für die Klasse) von a als CTxIn
serialisiert , also würde ich mir vorstellen, dass die serialisierte Version in etwa so aussehen würde:CTransaction
std::vector<std::vector<unsigned char> >
TxZeuge:
+------------+-------------------------+------------------------+
| Field Size | Description | Data Type |
+------------+-------------------------+------------------------+
| 0+ | witness_component count | var_int |
| ? | witness_components | witness_component[] |
+------------+-------------------------+------------------------+
ZeugeKomponente:
+------------+------------------+-----------+
| Field Size | Description | Data Type |
+------------+------------------+-----------+
| 0+ | component length | var_int |
| ? | component | uchar[] |
+------------+------------------+-----------+
Verweise: