Working With Docker
There are multiple ways to use LagomChain with Docker. If you want to run LagomChain inside a Docker setup and possibly connect the Docker container to other containerized compatible blockchain binaries, check out the guide on building a Docker image containing the LagomChain binary. If you instead want to generate a binary for use outside of Docker, but want to ensure the correct dependencies are used by building the binary inside a Docker container, then go ahead to the section on building the LagomChain binary with Docker.
note
The given instructions have been tested on Ubuntu 18.04.2 LTS with Docker 20.10.2 and macOS 13.2.1 with Docker 20.10.22.
Prerequisites
General Setup
In order to build LagomChain binaries with Docker, it is necessary to
clone the LagomChain repository to your local machine (e.g.
git clone [email protected]/LagomChain/LagomChain.git
)checkout the commit, branch, or release tag you want to build (e.g.
git checkout v11.0.2
)
Building A Docker Image Containing The Binary
To build a Docker image, that contains the LagomChain binary, step into the cloned repository and run the following command in a terminal session:
This will create an image with the name tharsishq/lagomchain
and the version tag latest
. Now it is possible to run the lagomd
binary in the container, e.g. evaluating its version:
Building The Binary With Docker
It is possible to build the lagomd
binary deterministically using Docker. The container system that Docker provides offers the ability to create an instance of the LagomChain binary in an isolated environment.
Building the Image
Run the following command to launch a build for all supported architectures (currently linux/amd64):
The build system generates both the binaries and deterministic build report in the artifacts
directory. The artifacts/build_report
file contains the list of the build artifacts and their respective checksums, and can be used to verify build sanity. An example of its contents follows:
Builder Image
The Tendermint builder Docker image provides a deterministic build environment that is used to build Cosmos SDK applications. It provides a way to be reasonably sure that the executables are really built from the git source. It also makes sure that the same, tested dependencies are used and statically built into the executable.
Now that you have built the LagomChain binary, either for local use or in a Docker container, you'll find information to run a node instance in the following section on setting up a local network.
Last updated