Cosvm using Docker
Last updated
Last updated
There are multiple ways to use with Docker. If you want to run 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 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 binary with Docker
Install Docker Ensure Docker is installed on your machine.
Clone the repository to your local machine.
Example:
Navigate to the cloned repository and switch to the desired commit, branch, or release tag
To build a Docker image containing the CosVM binary:
This will create an image with the name tharsishq/cvm and the version tag latest. Now it is possible to run the cvmd binary in the container, e.g. evaluating its version:
Run the following command to launch a build for all supported architectures (currently linux/amd64):
The build system generates both the binaries and a deterministic build report in the artifacts
directory. The artifacts/build_report
file contains the list of build artifacts and their respective checksums, useful for verifying build integrity.
Always comply with licensing, permissions, and repository access when using and distributing cosVM or its related components.
Open a terminal session and navigate to the directory.
Run the following command: Execute the command below to create an image with the binary.
It is possible to build the binary deterministically using Docker:
The Tendermint builder Docker image provides a deterministic build environment used for applications. It ensures that the executables are built from the git source and employs tested dependencies, statically built into the executable.
Now that you've built the binary, whether for local use or in a Docker container, you'll find information on running a node instance in the subsequent section on setting up a local network.
Remember to adjust commands and paths according to your actual repository and Docker configuration.