{"id":13482331,"url":"https://github.com/cocol-project/cocol","last_synced_at":"2025-05-12T22:02:13.874Z","repository":{"id":119236116,"uuid":"181008494","full_name":"cocol-project/cocol","owner":"cocol-project","description":"Rapid blockchain prototyping ","archived":false,"fork":false,"pushed_at":"2020-04-24T12:15:01.000Z","size":12366,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-20T18:40:04.787Z","etag":null,"topics":["blockchain","crystal","crystal-language","distributed-ledger","distributed-systems","experimental","miner","proof-of-stake","proof-of-work","test-bed","toolkit"],"latest_commit_sha":null,"homepage":"https://cocol-project.github.io/cocol","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cocol-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-04-12T12:57:23.000Z","updated_at":"2024-09-13T09:46:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"45c052a0-ec99-4a40-be67-3219dbcd86cd","html_url":"https://github.com/cocol-project/cocol","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocol-project%2Fcocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocol-project%2Fcocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocol-project%2Fcocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocol-project%2Fcocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cocol-project","download_url":"https://codeload.github.com/cocol-project/cocol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253830926,"owners_count":21971002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","crystal","crystal-language","distributed-ledger","distributed-systems","experimental","miner","proof-of-stake","proof-of-work","test-bed","toolkit"],"created_at":"2024-07-31T17:01:00.990Z","updated_at":"2025-05-12T22:02:13.817Z","avatar_url":"https://github.com/cocol-project.png","language":"Crystal","funding_links":[],"categories":["Blockchain"],"sub_categories":[],"readme":"# COCOL!\n\n[![Build Status](https://img.shields.io/github/workflow/status/cocol-project/cocol/weekly)](https://github.com/cocol-project/cocol/actions) ![Stability Experimental](https://img.shields.io/badge/Stability-Experimental-orange.svg?style=flat-square) ![Crystal 0.27.2](https://img.shields.io/badge/Crystal-0.32.1-blue.svg?style=flat-square\u0026link=https://crystal-lang.org\u0026link=https://crystal-lang.org/api/0.32.1/) ![License MPL-2.0](https://img.shields.io/badge/License-MPL--2.0-green.svg?style=flat-square)\n\n\n---\n\n  ![https://github.com/cocol-project/cocol/blob/master/img/demo2.gif](https://github.com/cocol-project/cocol/blob/master/img/demo2.gif)\n\n---\n\n## About 🌐\nThe Cocol Project has the goal to lower the entry barrier for developers interested in building blockchains and dApps.\nThere is still a long way to go and your help is needed.\n\n## Installation 🏹\nCocol is written in [Crystal](https://crystal-lang.org/), so make sure to follow the [installation instructions](https://crystal-lang.org/reference/installation/) first.\n\nAfter setting up Crystal you can clone the Cocol repository and install the dependencies:\n```shell\n\u003e git clone https://github.com/cocol-project/cocol.git\n\u003e cd cocol\n\u003e shards install\n```\n\n## Usage ⚔\nMake your changes to the code-base and than build Cocol\n```shell\n\u003e make\n```\nThe binary `./cocol` offers the following CLI options\n\n```text\nOptions:\n\n-p --port            The port your Cocol node is going to run on\n-m --master          Making this node a master (there can only be one)\n--max-connections    Setting the max-connections for peers.\n--miner              Making this node a miner\n--update             Triggering an update on launch (will catch up with the current height)\n\n```\n\nThere is also a script that starts multiple nodes and the master for you\n\n```shell\n\u003e ./script/start.sh 66 5\n```\nFirst option is the amount of nodes and the second amount of miner.\nIt will start the master node with the port `3000` and every other node with\n`3000 + n`, while all miner have port `4000 + n`\n\n\nNow go ahead and open the explorer in a browser:\n```shell\n\u003e open ./explorer/index.html\n```\n\nYou should see 66 nodes and a miner (red border)\n\nEach one of the nodes has a REST API on the corresponding port (e.g. `3001`)\n\nStart creating live fake transactions and watch the network come alive\n```shell\n\u003e crystal script/live.cr\n\n```\n\n## Development 👩‍💻👨‍💻\n\nCocol is in a very early stage. **Expect changes, bugs and messy code.**\nTest coverage sucks atm.\n\n## Contributing ️👷‍♀️👷‍♂\n\n1. Fork it ( https://github.com/cocol-project/cocol/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Contributors\n\n- github: [cserb](https://github.com/cserb) | twitter: [@cerbivore](http://twitter.com/cerbivore) | Cristian Șerb - creator, maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocol-project%2Fcocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcocol-project%2Fcocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocol-project%2Fcocol/lists"}