Блокчейн Python - Создание блока Genesis

Мы предполагаем, что создатель 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

Наконец, мы создаем блокчейн, как мы увидим в следующей главе.