Hyperledger Cello is a blockchain provision and operation system, which helps manage blockchain networks in an efficient way.
Using Cello, everyone can easily:
- Build up a Blockchain as a Service (BaaS) platform quickly from scratch.
- Provision customizable Blockchains instantly, e.g., a Hyperledger fabric network v1.0.
- Maintain a pool of running blockchain networks on top of baremetals, Virtual Clouds (e.g., virtual machines, vsphere Clouds), Container clusters (e.g., Docker, Swarm, Kubernetes).
- Check the system status, adjust the chain numbers, scale resources... through dashboards.
A typical usage scenario is illustrated as:
Environmental preparation:
- docker how install
- docker compose(
we switched to
Docker Compose V2) how install - make
all script for cello service management is written in Makefile
- kubernetes (
optional
) how install - node how install
If environment is prepared, then we can start cello service.
-
Build essential images for cello service (Optional, because currently the dockerhub image auto build haven't ready, in the future you can ignore this step.)
- Build API Engine
$ make api-engine
- Build Docker Agent
$ make docker-rest-agent
- Build Docker Dashboard
$ make dashboard
- Build API Engine
- Start cello service.
$ make start
After service started up, if use docker-compose method, you can see output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81e6459965ec hyperledger/cello-agent-docker "gunicorn server:app…" 4 seconds ago Up 2 seconds 0.0.0.0:2375->2375/tcp, :::2375->2375/tcp, 0.0.0.0:5001->5001/tcp, :::5001->5001/tcp cello.docker.agent
04367ab6bd5e postgres:11.1 "docker-entrypoint.s…" 4 seconds ago Up 2 seconds 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp cello-postgres
29b56a279893 hyperledger/cello-api-engine "/bin/sh -c 'bash /e…" 4 seconds ago Up 2 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cello-api-engine
a272a06d8280 hyperledger/cello-dashboard "bash -c 'nginx -g '…" 4 seconds ago Up 2 seconds 80/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp cello-dashboard
- Stop cello service.
$ make stop
- Check troubleshoot section if you get any question.
- Manage the lifecycle of blockchains, e.g., create/start/stop/delete/keep health automatically.
- Support customized (e.g., size, consensus) blockchains request, currently we mainly support Hyperledger fabric.
- Support native Docker host, swarm or Kubernetes as the worker nodes. More supports on the way.
- Support heterogeneous architecture, e.g., X86, POWER and Z, from bare-metal servers to virtual machines.
- Extend with monitor, log, health and analytics features by employing additional components.
For new users, it is highly recommended to read the tutorial or index first.
And feel free to visit the online documentation for more information. You can also run make doc
to start a local documentation website (Listen at localhost:8000.
Can you find anyone better at playing chains? :)
This project is a Hyperledger project in Incubation. It was proposed to the community and documented here, and was approved by Hyperledger TSC at 2017-01-07. Information on what Incubation entails can be found in the Hyperledger Project Lifecycle document.
These guiding principles are very important to the maintainers and therefore we respectfully ask all contributors to abide by them as well:
- Consider that users who will read the docs are from different backgrounds and cultures and that they have different preferences.
- Avoid potential offensive terms and, for instance, prefer "allow list and deny list" to "white list and black list".
- We believe that we all have a role to play to improve our world, and even if writing inclusive documentation might not look like a huge improvement, it's a first step in the right direction.
- We suggest to refer to Microsoft bias free writing guidelines and Google inclusive doc writing guide as starting points.
This work is licensed under a Creative Commons Attribution 4.0 International License.