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.