55
56api.add_resource(GalacticChainAPI, '/')
57api.add_resource(SmartContractAPI, '/contracts', '/contracts/<string:contract_name>')
58api.add_resource(TransactionAPI, '/transactions', '/transactions/<string:transaction_id>')59api.add_resource(EllipticCurveAPI, '/elliptic_curve')
60
61if __name__ == '__main__':
19 return signature
20
21 def verify(self, public_key, message, signature):
22 verifier = public_key.verifier(signature, padding=ec.ECDSA(max_size=32).padding, algorithm=ec.ECDSA(hash_func=hashlib.sha256))23 try:
24 verifier.verify(message.encode())
25 return True
14 return private_key, public_key
15
16 def sign(self, private_key, message):
17 signer = private_key.signer(padding=ec.ECDSA(max_size=32).padding, algorithm=ec.ECDSA(hash_func=hashlib.sha256))18 signature = signer.sign(message.encode())
19 return signature
20
62 :return: Output of the contract
63 """
64 output = self.ai_classifier.model.predict(input_data)
65 self.contract.functions.updateState(output).transact({'from': self.blockchain.accounts[0]}) 66 return output
67
68class Blockchain:
35 """
36 X_train, X_test, y_train, y_test = train_test_split(self.data, self.target, test_size=0.2, random_state=42)
37 early_stopping = EarlyStopping(monitor='val_loss', patience=5, min_delta=0.001)
38 self.model.fit(X_train, y_train, epochs=100, batch_size=32, validation_data=(X_test, y_test), callbacks=[early_stopping]) 39 y_pred = self.model.predict(X_test)
40 print("Accuracy:", accuracy_score(y_test, y_pred))
41 return self.model
Line length greater than configured max_line_length
detected, defaults to 79 character. This limit can be configured docs