Splinter Logo # Splinter Splinter is a privacy-focused platform for distributed applications that provides a blockchain-inspired networking environment for communication and transactions between organizations. Splinter lets you combine blockchain-related technologies -- such as smart contracts and consensus engines -- to build a wide variety of architectural patterns. See [splinter.dev](https://www.splinter.dev/) to learn about Splinter. ## Useful Links * [Splinter documentation](https://www.splinter.dev/docs/) * [Release notes](https://www.splinter.dev/releases/) * [Community information](https://www.splinter.dev/community/) * [Other Splinter repositories](https://www.splinter.dev/community/repositories.html) * [Example applications](https://www.splinter.dev/examples/) * Related projects: - [Hyperledger Grid](https://github.com/hyperledger/grid/) - [Hyperledger Transact](https://github.com/hyperledger/transact/) - [Sawtooth Sabre](https://github.com/hyperledger/sawtooth-sabre/) ## Building Splinter Splinter is built using latest stable [rust](https://www.rust-lang.org/), which you should install via [rustup](https://rustup.rs/). To install the remaining dependencies using a package manager, run one of the following commands. Homebrew (OS X): ```bash brew install openssl zeromq pkg-config protobuf postgresql ``` APT (Ubuntu): ```bash apt install libssl-dev libzmq3-dev pkg-config libprotobuf-dev postgresql ``` Once you have the prerequisites installed, build Splinter by running `cargo build` from the root directory. This command builds all of the Splinter components, including `libsplinter` (the main library), `splinterd` (the splinter daemon), the CLI, the client, and all examples in the `examples` directory. To build individual components, run `cargo build` in the component directories. For example, to build only the splinter library, navigate to `libsplinter`, then run `cargo build`. ### Building with Docker To build Splinter using Docker, run `docker-compose -f docker-compose-installed.yaml build` from the root directory. This command builds Docker images for all of the Splinter components, including `libsplinter` (the main library), `splinterd` (the splinter daemon), the CLI, the client, and all examples in the `examples` directory. To build individual components using Docker, run `docker-compose -f docker-compose-installed.yaml build ` from the root directory. For example, to build only the splinter daemon, run `docker-compose -f docker-compose-installed.yaml build splinterd`. To use Docker to build Splinter 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` ## License Splinter software is licensed under the [Apache License Version 2.0](LICENSE) software license. ## Code of Conduct Splinter operates under the [Cargill Code of Conduct](https://github.com/Cargill/code-of-conduct/blob/master/code-of-conduct.md).