Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

Commit 1cfffb3

Browse files
authored
Merge pull request #363 from ScorexFoundation/readme
Readme update
2 parents 3946bdb + c0a4030 commit 1cfffb3

File tree

1 file changed

+43
-23
lines changed

1 file changed

+43
-23
lines changed

README.md

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,75 @@ Scorex 2 - The modular blockchain framework [![Build Status](https://travis-ci.o
44
Scorex and Scorex 2
55
-------------------
66

7-
It is experimental and still raw new major release of the Scorex. Previous
8-
version with documentation could be found at [https://github.com/input-output-hk/Scorex](https://github.com/input-output-hk/Scorex).
7+
Scorex 2 is modular blockchain framework is Scala language which allows for free and limitless experimentation with a
8+
wide variety of designs.
99

10+
It is a complete rewrite of Scorex framework, which can be found
11+
at [https://github.com/input-output-hk/Scorex](https://github.com/input-output-hk/Scorex).
1012

1113
Motivation
1214
----------
1315

14-
Bitcoin Core source code contains more 100K lines of code(80K of C++ only), Nxt is more than 45K
15-
line of Java code. All parts of the design(network/transactional/consensus protocols) are mixed in a hard way.
16-
So researchers and developers are not in good start positions to make experiments.
16+
If you have a new design for a blockchain system, there are few options available in regards with an implementation:
17+
* you can fork codebase of a Bitcoin or Ethereum client. However, such clients are optimized towards concrete
18+
protocol, thus implementing something different would be a cumbersome task.
19+
* there are some modular frameworks, such as Scorex, where you can change consensus layer, or transactional
20+
layer, or both. Still, these modules have concrete interfaces, so for many design
21+
22+
We have read a lot of research papers to make Scorex 2 supporting their implementations. Its abstract core
23+
allows for implementing a broad range of systems, including ones with multiple types of blocks and non-linear history.
1724

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

2126
Features
2227
--------
2328

24-
* Compact, functional code
25-
* Modular design with fine granularity
26-
* Scala language
27-
* Asynchronous network layer on top of TCP
28-
* JSON API
29-
* Command line client for the JSON API
30-
* Cryptographic primitives externalized into [separate scrypto framework](https://github.com/input-output-hk/scrypto)
31-
* Few examples out-of-box
32-
33-
Documentation
34-
-------------
29+
* Compact, functional code
30+
* Modular design with fine granularity
31+
* Scala language
32+
* Asynchronous networking layer on top of TCP
33+
* JSON API
34+
* Cryptographic primitives externalized into [separate scrypto framework](https://github.com/input-output-hk/scrypto)
35+
* Some examples provided, including once working in production
3536

36-
[Please refer to the tutorial](https://github.com/ScorexFoundation/ScorexTutorial)
37+
Documentation and Communication.
38+
--------------------------------
3739

40+
Please join maillist at [https://groups.io/g/scorex-dev](https://groups.io/g/scorex-dev).
41+
There is tutorial in progress, available at [https://github.com/ScorexFoundation/ScorexTutorial](https://github.com/ScorexFoundation/ScorexTutorial).
3842

3943
Examples
4044
--------
4145

42-
There are two examples of blockchain systems built with Scorex. Details are available in
43-
the [dedicated readme](examples/README.md).
46+
There are two examples of blockchain systems built with Scorex:
47+
* implementation of TwinsCoin, a hybrid (Proof-of-Work + Proof-of-Stake) cryptocurrency is provided in this repository,
48+
please check [dedicated readme](examples/README.md).
49+
* [TreasuryCoin](https://github.com/input-output-hk/TreasuryCoin) is an experimental implementation of the perspective
50+
treasury system described in [A Treasury System for Cryptocurrencies: Enabling Better Collaborative Intelligence](https://eprint.iacr.org/2018/435.pdf).
51+
* [Ergo Platform](https://github.com/ergoplatform/ergo), a Proof-of-Work cryptocurrency and financial contracts
52+
platform, with support for stateless nodes, different operating regimes with up to 4 possible sections in a block etc.
4453

54+
Development Plans
55+
-----------------
4556

57+
Final 1.0 release of Scorex 2 is not done but near. Currently we're polishing and auditing the codebase towards the
58+
release. Then we will consider further plans, possibly including:
59+
60+
* Improved networking layer
61+
* Support for Scala 3
62+
* More examples, possibly including non-linear systems (such as DAGs)
4663

4764
Contributions
4865
-------------
4966

5067
Contributions are welcome! Please take a look into [issues](https://github.com/ScorexFoundation/ScorexTutorial/issues).
51-
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.
68+
Testing codebase is still not perfect at the moment, so writing a test is not just good for start,
69+
but useful for the product as well.
70+
71+
New examples would be very helpful as well!
5272

5373
License
5474
-------
5575

5676
To the extent possible under law, the authors have dedicated all copyright and related and neighboring
5777
rights to this software to the public domain worldwide. This software is distributed without any warranty.
58-
You can find applied CC0 license legalcode in the [COPYING](COPYING)
78+
You can find applied CC0 license legalcode in the [COPYING](COPYING)

0 commit comments

Comments
 (0)