Blockchain Python - Criando Bloco Genesis

Assumimos que o originador de TPCoins inicialmente distribui 500 TPCoins para um cliente conhecido Dinesh. Para isso, ele primeiro cria uma instância Dinesh -

Dinesh = Client()

Em seguida, criamos uma transação genesis e enviamos 500 TPCoins para o endereço público de Dinesh.

t0 = Transaction (
   "Genesis",
   Dinesh.identity,
   500.0
)

Agora, criamos uma instância de Block classe e chamá-lo block0.

block0 = Block()

Nós inicializamos o previous_block_hash e Nonce variáveis ​​de instância para None, já que esta é a primeira transação a ser armazenada em nosso blockchain.

block0.previous_block_hash = None
Nonce = None

A seguir, adicionaremos a transação t0 acima ao verified_transactions lista mantida dentro do bloco -

block0.verified_transactions.append (t0)

Neste ponto, o bloco está completamente inicializado e pronto para ser adicionado ao nosso blockchain. Estaremos criando o blockchain para este propósito. Antes de adicionarmos o bloco ao blockchain, faremos hash do bloco e armazenaremos seu valor na variável global chamadalast_block_hashque declaramos anteriormente. Este valor será usado pelo próximo mineiro em seu bloco.

Usamos as duas linhas de codificação a seguir para fazer o hash do bloco e armazenar o valor do resumo.

digest = hash (block0)
last_block_hash = digest

Por fim, criamos um blockchain, como veremos no próximo capítulo.