Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions network/api/rest_api.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import os
import json
from flask import Flask, request, jsonify
import os

from flask import Flask, jsonify, request
from flask_restful import Api, Resource
from galactic_chain.utils.math.elliptic_curve_arithmetic import EllipticCurveArithmetic
from galactic_chain.core.smart_contracts.ai_contract import AIContractEngine
from galactic_chain.utils.math.elliptic_curve_arithmetic import EllipticCurveArithmetic

app = Flask(__name__)
api = Api(app)
Expand All @@ -14,10 +15,12 @@
# Load Elliptic Curve Arithmetic
ecc = EllipticCurveArithmetic()


class GalacticChainAPI(Resource):
def get(self):
return {"message": "Welcome to the Galactic Chain API"}


class SmartContractAPI(Resource):
def post(self):
# Deploy new smart contract
Expand All @@ -31,6 +34,7 @@ def get(self, contract_name):
contract = ai_contract_engine.get_contract(contract_name)
return {"contract": contract.to_dict()}


class TransactionAPI(Resource):
def post(self):
# Create new transaction
Expand All @@ -45,6 +49,7 @@ def get(self, transaction_id):
transaction = ai_contract_engine.get_transaction(transaction_id)
return {"transaction": transaction.to_dict()}


class EllipticCurveAPI(Resource):
def post(self):
# Perform elliptic curve operation
Expand All @@ -53,10 +58,13 @@ def post(self):
result = ecc.perform_operation(operation, params)
return {"result": result}

api.add_resource(GalacticChainAPI, '/')
api.add_resource(SmartContractAPI, '/contracts', '/contracts/<string:contract_name>')
api.add_resource(TransactionAPI, '/transactions', '/transactions/<string:transaction_id>')
api.add_resource(EllipticCurveAPI, '/elliptic_curve')

if __name__ == '__main__':
api.add_resource(GalacticChainAPI, "/")
api.add_resource(SmartContractAPI, "/contracts", "/contracts/<string:contract_name>")
api.add_resource(
TransactionAPI, "/transactions", "/transactions/<string:transaction_id>"
)
api.add_resource(EllipticCurveAPI, "/elliptic_curve")

if __name__ == "__main__":
app.run(debug=True)