Мы предполагаем, что создатель TPCoins изначально выдает 500 TPCoins известному клиенту Dinesh . Для этого он сначала создает экземпляр Dinesh —
Dinesh = Client()
Затем мы создаем транзакцию генезиса и отправляем 500 TPCoins на публичный адрес Динеша.
t0 = Transaction ( "Genesis", Dinesh.identity, 500.0 )
Теперь мы создаем экземпляр класса Block и называем его block0 .
block0 = Block()
Мы инициализируем переменные экземпляра previous_block_hash и Nonce как None , поскольку это самая первая транзакция, которая будет сохранена в нашей цепочке блоков.
block0.previous_block_hash = None Nonce = None
Далее мы добавим вышеупомянутую транзакцию t0 в список Verified_transactions, поддерживаемый в блоке —
block0.verified_transactions.append (t0)
На этом этапе блок полностью инициализирован и готов к добавлению в нашу цепочку блоков. Мы будем создавать блокчейн для этой цели. Перед тем, как добавить блок в цепочку блоков, мы хешируем блок и сохраняем его значение в глобальной переменной last_block_hash, которую мы объявили ранее. Это значение будет использовано следующим майнером в его блоке.
Мы используем следующие две строки кода для хеширования блока и сохранения значения дайджеста.
digest = hash (block0) last_block_hash = digest
Наконец, мы создаем блокчейн, как мы увидим в следующей главе.