hoophq / sequence

Immutable, scalable, and easy to use ledger service.
Apache License 2.0
494 stars 31 forks source link
bookkeeping double-entry-accounting fintech hash-chain ledger merkle-tree

Sequence

Sequence CI

Sequence

Sequence is an API that store validate and reports asset movements. Also known as a Ledger. Sequence is immutable, scalable, and easy to use.

The key features of Sequence are:

Getting Started

docker-compose

  1. Clone and cd into the repository
  2. Use docker-compose to bring up DynamoDB local and Sequence
git clone https://github.com/decimals/sequence.git

cd sequence

docker-compose up

Docker

  1. Start the DynamoDB local container
  2. Start the Sequence container
docker run -p 8000:8000 amazon/dynamodb-local

docker run -p 8910:8910 docker.pkg.github.com/decimals/sequence/sequence:0.0.1

Configurations

All configurations are loaded from environment variables. The available configurations are:

environment variable configuration dev profile
DYNAMODB_ENDPOINT The host for the DynamoDB instance. Mostly used for local development. http://localhost:8000
SEGMENT_KEY Optional Segment.io key to generate analytics events.
KEYS A string with a list of tenants and their sha256 API keys digests. In json format. [{ "name": "test","email": "test@decimals.app", "public-key": "abc", "secret-key-hash": "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"}]
ALLOWED_ORIGINS A list of accepted CORS hosts. Example: ALLOWED_ORIGINS= '["https://decimals.stoplight.io"]'

Configurations can also be loaded from the profiles.clj file, where the dev configurations are setup.

Developing Sequence

  1. Start a new REPL: lein repl
  2. Start Sequence in dev-mode: (def dev-serv (start-dev))
  3. Connect your editor to the running REPL session. Re-evaluated code will be seen immediately in the service.

Links