Integration
Python Code for a Simple Order-Book
Setting up the Environment
from flask import Flask, request, session, jsonify
from flask_sqlalchemy import SQLAlchemy
from werkzeug.security import check_password_hash
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///orders.db'
app.config['SECRET_KEY'] = 'your_secret_key'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password_hash = db.Column(db.String(120), nullable=False)
class Balance(db.Model):
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
token = db.Column(db.String(50), primary_key=True)
amount = db.Column(db.Float, nullable=False)
class Order(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
base_token = db.Column(db.String(50), nullable=False)
quote_token = db.Column(db.String(50), nullable=False)
order_type = db.Column(db.String(10), nullable=False)
quantity = db.Column(db.Float, nullable=False)
price = db.Column(db.Float, nullable=False)
matched = db.Column(db.Boolean, default=False, nullable=False)
@app.before_first_request
def create_tables():
db.create_all()User Authentication
Order Submission
Order Matching
Applying Signature-based Authentication
Identifying Users by their Public Keys
Authorising Users by their Signatures
Sequencing orders before applying them
Sending orders to the Sequencer
Receiving sequenced orders from the sequencer
Last updated