importar hashlib importar numpy como np importar clase aleatoria Bloque: def init(self, índice, marca de tiempo, datos, anterior_hash): self.index = índice self.timestamp = marca de tiempo self.data = datos self.previous_hash = anterior_hash self.hash = self .calculate_hash() def calcular_hash(self): block_string = json.dumps(self.__dict__, sort_keys=True) return hashlib.sha256(block_string.encode()).hexdigest() clase Blockchain: def init(self): self. cadena = [] def add_block(self, datos): índice = len(self.chain) + 1 marca de tiempo = time.time() si índice > 1: anterior_hash = self.chain[-1].hash else: anterior_hash = " 0" * 64 bloque = Bloque (índice, marca de tiempo, datos, anterior_hash) self.chain.append(bloque) def validar_chain(self): para i en rango(1, len(self.chain)): bloque_actual = self.chain [i] bloque_anterior = self.chain[i-1] si bloque_actual.hash_anterior != bloque_anterior.hash: devuelve Falso si bloque_actual.hash != bloque_actual.calculate_hash(): devuelve Falso devuelve Clase verdadera Nodo: def init(self, id , blockchain): self.id = id self.blockchain = blockchain self.connections = [] def connect_to_node(


clase Nodo: def init(self, id, blockchain): self.id = id self.blockchain = blockchain self.connections = [] def connect_to_node(self, nodo): self.connections.append(nodo) def broadcast(self, mensaje): para nodo en self.connections: nodo.receive(mensaje) def recibir(self, mensaje): # Procesar el pase del mensaje recibido

#BNBAnalysis >#binance >#BinanceBlockchainWeek