Title: Как выглядит блок? Post by: kaznachey on December 30, 2016, 05:17:03 PM А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера?
Title: Re: Как выглядит блок? Post by: Rashid Ahmed on December 31, 2016, 01:27:37 AM А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера? Тут хоть речь идёт о сегвите, но про блок всё разжаловано очень годно. Рекомендую посмотреть. https://www.youtube.com/watch?v=1-1qJ91aBH4&t Title: Re: Как выглядит блок? Post by: bitaps on January 02, 2017, 12:30:34 PM Вот здесь описана структура блока
https://en.bitcoin.it/wiki/Block Title: Re: Как выглядит блок? Post by: AndreyBelts on January 20, 2018, 02:01:31 PM А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера? Да. Так же заинтересовался этим вопросом.:( Title: Re: Как выглядит блок? Post by: NAgain on January 20, 2018, 08:09:08 PM Дабы не создавать новую тему, спрошу тут.
Не могу понять, как и где в блоке хранятся адреса кошельков? Title: Re: Как выглядит блок? Post by: kzv on January 20, 2018, 09:40:06 PM Дабы не создавать новую тему, спрошу тут. В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".Не могу понять, как и где в блоке хранятся адреса кошельков? Title: Re: Как выглядит блок? Post by: NAgain on January 20, 2018, 10:07:24 PM Дабы не создавать новую тему, спрошу тут. В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".Не могу понять, как и где в блоке хранятся адреса кошельков? Вроде бы я так и понял из спеки, но не был уверен в этом до конца. Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом? Заранее извиняюсь за, вероятно, нубские вопросы - просто хочу до конца разобраться. Title: Re: Как выглядит блок? Post by: kzv on January 20, 2018, 10:25:58 PM Дабы не создавать новую тему, спрошу тут. В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".Не могу понять, как и где в блоке хранятся адреса кошельков? Вроде бы я так и понял из спеки, но не был уверен в этом до конца. Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом? Заранее извиняюсь за, вероятно, нубские вопросы - просто хочу до конца разобраться. https://en.bitcoin.it/wiki/Script Code: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG Title: Re: Как выглядит блок? Post by: NAgain on January 21, 2018, 12:18:38 AM 99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет. А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать. Title: Re: Как выглядит блок? Post by: Coin-1 on January 21, 2018, 06:41:12 PM 99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет. А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать. https://github.com/bitcoin/bitcoin Title: Re: Как выглядит блок? Post by: kzv on January 21, 2018, 07:17:06 PM 99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет. А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать. А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены. Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить. Title: Re: Как выглядит блок? Post by: NAgain on January 21, 2018, 07:19:45 PM А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены. Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить. Ключевая фраза - "разобраться для себя". В тупую юзать сторонние либы ума много не надо, а хочется въехать самому. По той же причине и RPC не использую. Так что если не сложно - выложите пжлст. Title: Re: Как выглядит блок? Post by: kzv on January 22, 2018, 08:19:09 AM Формат файлов с блоками
тут https://bitcointalk.org/index.php?topic=101514.msg1111214#msg1111214 или тут https://en.bitcoin.it/wiki/Protocol_documentation Quote Magic Bytes (4 bytes) Формат рав транзакций тут https://www.siliconian.com/blog/16-bitcoin-blockchain/22-deconstructing-bitcoin-transactionsBlockSize w/ header (4 bytes) Raw Header (80 bytes) Number of Tx, N (VAR_INT) Raw Tx1 Raw Tx2 ... Raw TxN Magic Bytes (4 bytes) BlockSize w/ header (4 bytes) Raw Header (80 bytes) Number of Tx, N (VAR_INT) Raw Tx1 Raw Tx2 ... Raw TxN Magic Bytes (4 bytes) BlockSize w/ header (4 bytes) Raw Header (80 bytes) Number of Tx, N (VAR_INT) Raw Tx1 Raw Tx2 ... Raw TxN ... Вот ваш адрес в биг-ендиан формате. 0207c9ece04a9b5ef3ff441f3aad6bb63e323c05047a820ab45ebbe61385aa7446 Если в таком формате не нравится, вот тут написано, как из биг-ендиан получить базе58-чек https://github.com/bitcoin/bitcoin/blob/master/src/base58.cpp#L124 Разбирайтесь на здоровье )) Title: Re: Как выглядит блок? Post by: A-Bolt on January 22, 2018, 03:13:32 PM Quote Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом? Чтобы определить баланс для конкретного адреса А нужно просканировать все блоки и найти транзакции с выходами, позволяющими обладателю приватного ключа от адреса А потратить эти выходы. Среди этих выходов необходимо найти непотраченные на текущий момент выходы (UTXO). Сумма непотраченных выходов и будет составлять баланс. Title: Re: Как выглядит блок? Post by: NAgain on January 22, 2018, 04:56:41 PM kzv - Благодарю. Большинство видел, но есть пара упущенных моментов.
Quote Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом? Чтобы определить баланс для конкретного адреса А нужно просканировать все блоки и найти транзакции с выходами, позволяющими обладателю приватного ключа от адреса А потратить эти выходы. Среди этих выходов необходимо найти непотраченные на текущий момент выходы (UTXO). Сумма непотраченных выходов и будет составлять баланс. Это понятно. Я же имел ввиду то, что "как-то же блок-эксплореры получают адреса кошельков из транзакций, чтобы отобразить баланс каждого". *Всем спасибо за помощь Title: Re: Как выглядит блок? Post by: DDL on January 24, 2018, 08:30:41 PM Откройте эксплорер любой монеты и посмотрите как он выглядит.
Title: Re: Как выглядит блок? Post by: readonly on January 27, 2018, 05:36:08 PM А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены. Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить. Ключевая фраза - "разобраться для себя". В тупую юзать сторонние либы ума много не надо, а хочется въехать самому. По той же причине и RPC не использую. Так что если не сложно - выложите пжлст. вам же дали исходники выше. кто мешает разобраться для себя? |