Я хочу понять структуру данных Биткойн. Поэтому я пытаюсь понять необработанную транзакцию в формате json. Когда я проверил документацию API blockchain.info , я увидел, что структура ввода определена для таких транзакций:
"prev_out":
{
"hash":"a3e2bcc9a5f776112497a32b05f4b9e5b2405ed9",
"value":"100000000",
"tx_index":"12554260",
"n":"2"
},
"script":"76a914641ad5051edd97029a003fe9efb29359fcee409d88ac"
Но когда я запрашиваю транзакцию из blockchain.info , она выглядит иначе:
"prev_out":
{
"spent":true,
"tx_index":8845778,
"type":0,
"addr":"1CfD77hupeUvFwBPxZ2fA8iyWmVwQY22oh",
"value":10212000000,
"n":1,
"script":"76a9147fe34b97aeff4ab754770be5c8f12e2e95332fd488ac"
}
Есть ли какой-либо документ, который четко объясняет эти поля данных?
Мои текущие чудеса:
Вы должны знать, что различные парсеры транзакций часто включают свои собственные поля, которые не включены напрямую в необработанную транзакцию. Например, «адрес» не будет найден в необработанной транзакции, но его можно вывести, просмотрев его. Я не уверен, к чему относятся поля «тип» и «n». Вы можете взглянуть на эти ссылки:
создать необработанный биткойн tx
Я не уверен в ваших вопросах 1, 3, это будет конкретно для API. Я не уверен, что вы имеете в виду в вопросе 2. Что касается вопроса 4, это зависит от типа транзакции (не-segwit или segwit) и типа подписи (sighash_all, sighash_none, sighash_single).
Я использую это в течение долгого времени, и я всегда пропускал поля. Теперь, когда вы упомянули об этом, вот частичный ответ:
1.) Не знаю.
2.) Хэш транзакции появляется в конце списка; он также появляется в ссылке, которую вы предоставили.
3.) Еще один хороший вопрос. Я не знаю.
4.) Поля, которые подписаны, взяты из предыдущей транзакции, где, в основном, вся структура данных подписана, за исключением того, что поле «scriptSig» заполнено сценарием «pubkey».
Существует три отличных источника документации по структурам транзакций:
1.) Руководство разработчика Bitcoin.org
2.) «Овладение биткойнами» Андреаса Антонопулоса.
3.) Сложный путь биткойнов: использование необработанного протокола биткойнов
Я надеюсь, что это было полезно.
Я думаю, что «потрачено» говорит вам, является ли это UTXO или нет.
DjangoБлокчейн