企业级区块链操作系统

Baohua Yang b7ef2df3f2 Merge pull request #644 from YoungHypo/issue-fix-path-to-regexp 1 周之前
.github 0828679ff1 wip 1 年之前
.makerc c9653edec3 [CE-678] Add dockerhub files for common,agent images 5 年之前
bootup f42f141258 upgrade postgresql to v12 and modifity requirement.txt related to Django4.2 1 周之前
build_image a538b10b8e upgrade Fabric version to 2.5.10 1 周之前
ci 0828679ff1 wip 1 年之前
docs 790cbcb65c [ISSUE-533]Fix demo admin user creation (#544) 1 年之前
kconfig-lib 2d24401c8f fix: fix .config file content can not load for kconfig 4 年之前
release_notes b6a340d1ba [CE-499] Release v0.9.0 6 年之前
scripts 89e2bb5321 Address feedback 1 年之前
src b7ef2df3f2 Merge pull request #644 from YoungHypo/issue-fix-path-to-regexp 1 周之前
template 5e339fa102 upgrade core.yaml and orderer.yaml from HLF2.5.9 1 月之前
tests 9c62c2ca89 fix value reading in env.json.tmpl 1 月之前
thirdparty 83522d5790 [CE-616] Remove deprecated code under src folder 5 年之前
.dockerignore 6cd660ed86 Import existing code 7 年之前
.gitattributes 0353ed4586 [Cello-22] Add missing files 7 年之前
.gitignore 43178c9da7 change all label to v2.5.9;modify postman test.json;print command in cryptogen 1 月之前
.pre-commit-config.yaml 11476868d3 [CE-632] Support param customize for fabric ca server 5 年之前
.readthedocs.yml a2a3d4be96 [CE-675] Fix rtd build document failed 5 年之前
CHANGELOG.md b6a340d1ba [CE-499] Release v0.9.0 6 年之前
CODEOWNERS 53341edbb0 Remove Gerrit references 4 年之前
CODE_OF_CONDUCT.md 5e9795bce1 add repolint.json and fix incompatibility 3 年之前
CONTRIBUTING.md 53e60416fd Remove rocket chat 1 年之前
Kconfig 2bf9deb640 feat: add menuconfig support for server deployment config 4 年之前
LICENSE 0353ed4586 [Cello-22] Add missing files 7 年之前
MAINTAINERS.md 5cfbaadd69 Add release manager 1 年之前
Makefile a538b10b8e upgrade Fabric version to 2.5.10 1 周之前
Makefile.old 0f47595cac Update makefile rules 1 年之前
README.md 3c4e79123c Fix the wrong link to nonexisted doc 6 月之前
SECURITY.md 51324e3b59 [IN-68] Add default GitHub SECURITY policy 5 年之前
azure-pipelines.yml 0828679ff1 wip 1 年之前
mkdocs.yml e0f577571b Fix makefile 1 年之前
repolint.json 5e9795bce1 add repolint.json and fix incompatibility 3 年之前

README.md

Cello

Build Status

Hyperledger Cello is a blockchain provision and operation system, which helps manage blockchain networks in an efficient way.

  1. Introduction
  2. Main Features
  3. Quick Start
  4. Documentation
  5. Why named cello?
  6. Notice

Introduction

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:

Typical Scenario

Quick Start

Environmental preparation:

  1. docker how install
  2. docker compose(we switched to Docker Compose V2) how install
  3. make all script for cello service management is written in Makefile
  4. kubernetes (optional) how install
  5. node how install

If environment is prepared, then we can start cello service.

  • Set local storage environment variable, e.g. Use current path as storage path
  $  export CELLO_STORAGE_PATH=$(pwd)/cello
  • Start service locally
  $ make local
  • Optional: Build essential images for cello service (the docker hub image auto build haven't ready, in the future you can ignore this step.)

    • Build docker images

      $ make docker
      
      • Then run services locally then
      $ 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
  • Clean all containers
  $ make clean
  • Check available make rules
  $ make help
  • Visit Cello dashboard at localhost:8081

  • Check troubleshoot section if you get any question.

Main Features

  • 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.

Documentation, Getting Started and Develop Guideline

For new users, it is highly recommended to read the documentation 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.

Why named Cello?

Can you find anyone better at playing chains? :)

Incubation Notice

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.

Inclusive Language Statement

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.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.