Abra o arquivo blockchain.py
em seu editor de código.
Defina uma classe Blockchain
: Esta classe representará o blockchain e conterá os métodos necessários para gerenciar os blocos e a própria cadeia.
Python
pythonCopiar código
classe Blockchain:
def __init__(self):
self.chain = []
Este código define uma classe Blockchain
com uma lista vazia chamada chain
para armazenar os blocos.
Implemente o método add_block
: Este método será usado para adicionar blocos ao blockchain. Ele pegará um objeto de bloco como parâmetro e o anexará à cadeia.
Python
pythonCopy code
class Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Este código adiciona o método add_block
à classe Blockchain
.
Teste a adição de blocos ao blockchain: Na parte principal do seu código, após a definição da classe, crie uma nova instância da classe Blockchain
. Em seguida, crie um novo objeto de bloco e adicione-o ao blockchain usando o método add_block
.
```
Pitão
pythonCopiar código
blockchain = Blockchain()
novo_bloco = Bloco(1, datetime.datetime.now(), “Dados de amostra”, “hash_anterior”, 0)
blockchain.add_block(novo_bloco)
Este código cria uma nova instância da classe `Blockchain`, cria um novo objeto de bloco com alguns dados de amostra e o adiciona ao blockchain usando o método `add_block`.
## 2.3 Validando Blockchain
1.
Implemente o método `is_valid`: Este método será usado para validar a integridade do blockchain. Ele irá percorrer cada bloco da cadeia e verificar se o hash de cada bloco corresponde ao hash do bloco anterior.
Pitão
pythonCopiar código
classe Blockchain:
def inicialização(self):
self.chain = []
def add_block(self, bloco):
self.chain.append(bloco)
def is_valid(self):
para i in range(1, len(self.chain)):
bloco_atual = self.chain[i]
bloco_anterior = self.chain[i - 1]
se bloco_atual.hash anterior! = bloco_anterior.hash():
retornar falso e retornar verdadeiro
Este código adiciona o método `is_valid` à classe `Blockchain`.
1.
Teste a validação do blockchain: Após adicionar blocos ao blockchain, chame o método `is_valid` para verificar se o blockchain é válido.
Pitão
pythonCopiar código
print("Blockchain é válido.")
outro:
print(“Blockchain é inválido.”)
Este código valida o blockchain chamando o método `is_valid` e imprime uma mensagem apropriada com base no resultado.
## 2.4 Testando o Blockchain
1.
Adicione mais blocos ao blockchain: Crie blocos adicionais usando dados diferentes e hashes anteriores e adicione-os ao blockchain usando o método `add_block`.
Python
pythonCopy code
#Crie mais blocos
block2 = Block(2, datetime.datetime.now(), "Mais dados", new_block.hash(), 0)
bloco3 = Bloco(3, datetime.datetime.now(), "Ainda mais dados", block2.hash(), 0)
#Adicione os blocos ao blockchain
blockchain.add_block(block2)
blockchain.add_block(bloco3)
Este código cria dois blocos adicionais e os adiciona ao blockchain.
1.
Teste a validação do blockchain novamente: Após adicionar os novos blocos, chame o método `is_valid` para verificar a validade do blockchain.
Python
pythonCopy code
# Valida o blockchain se blockchain.is_valid():
print("Blockchain é válido.")
senão:
print("Blockchain é inválido.")
```
Este código valida o blockchain e imprime o resultado.
Nesta lição, construímos a estrutura do nosso blockchain. Criamos uma classe Blockchain
e implementamos métodos para adicionar blocos à cadeia e validar sua integridade. Também testamos o blockchain adicionando blocos e verificando sua validade.
Abra o arquivo blockchain.py
em seu editor de código.
Defina uma classe Blockchain
: Esta classe representará o blockchain e conterá os métodos necessários para gerenciar os blocos e a própria cadeia.
Python
pythonCopiar código
classe Blockchain:
def __init__(self):
self.chain = []
Este código define uma classe Blockchain
com uma lista vazia chamada chain
para armazenar os blocos.
Implemente o método add_block
: Este método será usado para adicionar blocos ao blockchain. Ele pegará um objeto de bloco como parâmetro e o anexará à cadeia.
Python
pythonCopy code
class Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Este código adiciona o método add_block
à classe Blockchain
.
Teste a adição de blocos ao blockchain: Na parte principal do seu código, após a definição da classe, crie uma nova instância da classe Blockchain
. Em seguida, crie um novo objeto de bloco e adicione-o ao blockchain usando o método add_block
.
```
Pitão
pythonCopiar código
blockchain = Blockchain()
novo_bloco = Bloco(1, datetime.datetime.now(), “Dados de amostra”, “hash_anterior”, 0)
blockchain.add_block(novo_bloco)
Este código cria uma nova instância da classe `Blockchain`, cria um novo objeto de bloco com alguns dados de amostra e o adiciona ao blockchain usando o método `add_block`.
## 2.3 Validando Blockchain
1.
Implemente o método `is_valid`: Este método será usado para validar a integridade do blockchain. Ele irá percorrer cada bloco da cadeia e verificar se o hash de cada bloco corresponde ao hash do bloco anterior.
Pitão
pythonCopiar código
classe Blockchain:
def inicialização(self):
self.chain = []
def add_block(self, bloco):
self.chain.append(bloco)
def is_valid(self):
para i in range(1, len(self.chain)):
bloco_atual = self.chain[i]
bloco_anterior = self.chain[i - 1]
se bloco_atual.hash anterior! = bloco_anterior.hash():
retornar falso e retornar verdadeiro
Este código adiciona o método `is_valid` à classe `Blockchain`.
1.
Teste a validação do blockchain: Após adicionar blocos ao blockchain, chame o método `is_valid` para verificar se o blockchain é válido.
Pitão
pythonCopiar código
print("Blockchain é válido.")
outro:
print(“Blockchain é inválido.”)
Este código valida o blockchain chamando o método `is_valid` e imprime uma mensagem apropriada com base no resultado.
## 2.4 Testando o Blockchain
1.
Adicione mais blocos ao blockchain: Crie blocos adicionais usando dados diferentes e hashes anteriores e adicione-os ao blockchain usando o método `add_block`.
Python
pythonCopy code
#Crie mais blocos
block2 = Block(2, datetime.datetime.now(), "Mais dados", new_block.hash(), 0)
bloco3 = Bloco(3, datetime.datetime.now(), "Ainda mais dados", block2.hash(), 0)
#Adicione os blocos ao blockchain
blockchain.add_block(block2)
blockchain.add_block(bloco3)
Este código cria dois blocos adicionais e os adiciona ao blockchain.
1.
Teste a validação do blockchain novamente: Após adicionar os novos blocos, chame o método `is_valid` para verificar a validade do blockchain.
Python
pythonCopy code
# Valida o blockchain se blockchain.is_valid():
print("Blockchain é válido.")
senão:
print("Blockchain é inválido.")
```
Este código valida o blockchain e imprime o resultado.
Nesta lição, construímos a estrutura do nosso blockchain. Criamos uma classe Blockchain
e implementamos métodos para adicionar blocos à cadeia e validar sua integridade. Também testamos o blockchain adicionando blocos e verificando sua validade.