• Stars
    star
    19
  • Rank 1,126,189 (Top 23 %)
  • Language
    Crystal
  • License
    Mozilla Public Li...
  • Created about 5 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rapid blockchain prototyping

COCOL!

Build Status Stability Experimental Crystal 0.27.2 License MPL-2.0


https://github.com/cocol-project/cocol/blob/master/img/demo2.gif


About 🌐

The Cocol Project has the goal to lower the entry barrier for developers interested in building blockchains and dApps. There is still a long way to go and your help is needed.

Installation 🏹

Cocol is written in Crystal, so make sure to follow the installation instructions first.

After setting up Crystal you can clone the Cocol repository and install the dependencies:

> git clone https://github.com/cocol-project/cocol.git
> cd cocol
> shards install

Usage βš”

Make your changes to the code-base and than build Cocol

> make

The binary ./cocol offers the following CLI options

Options:

-p --port            The port your Cocol node is going to run on
-m --master          Making this node a master (there can only be one)
--max-connections    Setting the max-connections for peers.
--miner              Making this node a miner
--update             Triggering an update on launch (will catch up with the current height)

There is also a script that starts multiple nodes and the master for you

> ./script/start.sh 66 5

First option is the amount of nodes and the second amount of miner. It will start the master node with the port 3000 and every other node with 3000 + n, while all miner have port 4000 + n

Now go ahead and open the explorer in a browser:

> open ./explorer/index.html

You should see 66 nodes and a miner (red border)

Each one of the nodes has a REST API on the corresponding port (e.g. 3001)

Start creating live fake transactions and watch the network come alive

> crystal script/live.cr

Development πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cocol is in a very early stage. Expect changes, bugs and messy code. Test coverage sucks atm.

Contributing οΈπŸ‘·β€β™€οΈπŸ‘·β€β™‚

  1. Fork it ( https://github.com/cocol-project/cocol/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • github: cserb | twitter: @cerbivore | Cristian Șerb - creator, maintainer