Skip to content

splintercommunity/splinter

Repository files navigation

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 to learn about Splinter.

Useful Links

Building Splinter

Splinter 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 pkg-config protobuf libpq

APT (Ubuntu):

apt install \
    build-essential \
    pkg-config \
    libssl-dev \
    protobuf-compiler \
    libsqlite3-dev \
    libpq-dev \
    openssl

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 <component> 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 software license.

Code of Conduct

Splinter operates under the Cargill Code of Conduct.