/Scorex

Scorex 2.0 Core

Primary LanguageJavaScriptCreative Commons Zero v1.0 UniversalCC0-1.0

Scorex 2 - The modular blockchain framework Build Status

Join the chat at https://gitter.im/input-output-hk/Scorex

Scorex and Scorex 2

It is experimental and still raw new major release of the Scorex. Previous version with documentation could be found at https://github.com/input-output-hk/Scorex.

Motivation

Bitcoin Core source code contains more 100K lines of code(80K of C++ only), Nxt is more than 45K line of Java code. All parts of the design(network/transactional/consensus protocols) are mixed in a hard way. So researchers and developers are not in good start positions to make experiments.

In opposite, Scorex core is less than 4K lines of Scala code. Abstract core concepts allow to implement a broad range of systems, including ones with multiple types of blocks and non-linear history.

Features

  • Compact, functional code
  • Modular design with fine granularity
  • Scala language
  • Asynchronous network layer on top of TCP
  • JSON API
  • Command line client for the JSON API
  • Cryptographic primitives externalized into separate scrypto framework
  • Few examples out-of-box

Documentation

Please refer to the tutorial

Examples

There are two examples of blockchain systems built with Scorex. Details are available in the dedicated readme.

Contributions

Contributions are welcome! Please take a look into issues. Testing codebase is very small at the moment, so writing a test is not just good for start, but useful for the product as well.

License

To the extent possible under law, the authors have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. You can find applied CC0 license legalcode in the COPYING