Hyperledger Grid
Hyperledger Grid is a platform for building supply chain solutions that include distributed ledger components. It provides a growing set of tools that accelerate development for supply chain smart contracts and client interfaces.
This project is not an implementation of a distributed ledger or a client application. Instead, Hyperledger Grid provides supply-chain-focused libraries, data models, and software development kits (SDKs) as modular, reusable components.
The Hyperledger Grid project includes several repositories:
-
This repository contains core components such as supply-chain-centric data types and smart permissioning code.
-
The grid-contrib repository contains example domain models and reference implementations for smart contracts (also called "transaction families").
-
The grid-rfcs repository contains RFCs (requests for comments) for proposed and approved changes to Hyperledger Grid.
-
The grid-docs repository contains the source files for the Grid documentation and website hosted at grid.hyperledger.com.
Project Status
Hyperledger Grid is currently in the incubation stage of the Hyperledger product lifecycle. The Hyperledger Grid proposal was accepted in December, 2018.
How to Participate
We welcome contributors, both organizations and individuals, to help shape project direction, contribute ideas, provide use cases, and work on specific tools and examples. Please join the discussion.
Building Grid
Grid is built using latest stable rust, which you should install via rustup.
To install the remaining dependencies using a package manager, run one of the following commands.
Homebrew (OS X):
brew install openssl zeromq pkg-config protobuf libpq
APT (Ubuntu):
apt install \
build-essential \
pkg-config \
libssl-dev \
protobuf-compiler \
libsqlite3-dev \
libpq-dev \
libsasl2-dev \
libxml2-dev \
libzmq3-dev \
openssl
Once you have the prerequisites installed, run cargo build
from the root
directory. This command builds all of the Grid components, including gridd
(the grid daemon), the CLI, and all of the smart contracts in the contracts
directory.
To build individual components, run cargo build
in the component directories.
For example, to build only the grid-cli, navigate to cli
, then run
cargo build
.
Building with Docker
To build Grid using Docker, run docker-compose build
from the root directory.
This command builds Docker images for all of the Grid components, including
gridd
(the grid daemon), the CLI, and all of the smart contracts in the
contracts
directory.
To build individual components using Docker, run
docker-compose build <component>
from the root directory. For example, to
build only the grid-cli, run docker-compose build grid-cli
.
To use Docker to build Grid with experimental features enabled, set an
environment variable in your shell before running the build commands. For
example: export 'CARGO_ARGS= --features experimental'
. To go back to
building with default features, unset the environment variable:
unset CARGO_ARGS
More Information
- Hyperledger Grid website
- Documentation
- Hyperledger Grid mailing list
- #grid discussion channel
- Hyperledger Grid project overview at hyperledger.org
License
Hyperledger Grid software is licensed under the Apache License Version 2.0 software license.
The Hyperledger Grid documentation in the grid-docs repository is licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0). You may obtain a copy of the license at http://creativecommons.org/licenses/by/4.0/.