sequin v1.12.0



GitHub release (latest by date) GitHub last commit Master

Sequin is a cryptocurrency implemented in Crystal.



Getting Started

To get started create a new application on balena-cloud.com and balena push this source code to it.

Environment variables

Name Description
WALLET_SEED String used to generate a server side wallet, which is used to sign transactions and for allocating mining rewards
PASSWORD String used to authenticate with the server when creating transactions

Development

To get started, set up a balena device in local mode and use balena push. This will run a docker container on the device that executes the test suite, then sleeps. Saving changes to the project will cause the test suite to be executed again.

Tests

To run unit tests locally:

make test

Linting uses the GitHub super-linter project and can be run locally using docker with:

make lint

Todo

Testing

Blockchain

  • Handle forks

Wallet

  • Wallet mnemonic seed
  • HD wallet
  • Ability to create multiple wallets

Transactions

  • Move to candidate block coinbase/generation transactions
  • Refactor to use UTXO and input/output transactions

User interface

  • Login using JWT
  • Wallet generation (linked to mnemonic seed?)

Rest API

Mining

  • Set mining reward adress

Hardware

  • Control inkyshot screen

Decentralization

  • Download Chain on startup
  • Persistent on-node blockchain storage
  • Compressed storage format for blockchain
  • Node discovery
  • Open app on balena
  • Consensus
    • Broadcast newly mined blocks
    • Verify received block
    • Stop mining upon receiving valid block
    • Propagate block to peers
    • Remove conflicting transactions

Features

  • Security hardening
  • Lottery
  • Coin burn (ala pancakeswap)
Repository

sequin

Owner
Statistic
  • 2
  • 1
  • 0
  • 0
  • 3
  • about 3 years ago
  • February 21, 2021
License

Links
Synced at

Tue, 07 May 2024 16:19:18 GMT

Languages