Installing Gccm
The Go implementation of Ccmchain can be installed using a variety of ways. These include obtaining it as part of Mist; installing it via your favorite package manager; downloading a standalone pre-built bundle; running as a docker container; or building it yourself. This document will detail all of these possibilities to get you quickly joining the Ccmchain network using whatever means you prefer.
- Install from a package manager
- Download standalone bundle
- Run inside docker container
- Build it from source code
The simplest way to install ccmchain on Ubuntu distributions is via the built in launchpad PPAs (Personal Package Archives). We provide a single PPA repository that contains both our stable as well as our develop releases for Ubuntu versions trusty
, xenial
, bionic
and cosmic
.
To enable our launchpad repository please run:
sudo add-apt-repository -y ppa:ccmchain/ccmchain
After that you can install the stable version of Go Ccmchain:
sudo apt-get update
sudo apt-get install ccmchain
Or the develop version via:
sudo apt-get update
sudo apt-get install ccmchain-unstable
Although we were shipping Chocolatey packages for a time after Frontier, it has fallen out of date due to the constant manual approval process. With our new build infrastructure in place we will attempt to negotiate trusted package status for ccmchain to be able to reinstate the Chocolatey workflow. Until then please grab a Windows installer from our downloads page.
All our stable releases and develop builds are distributed as standalone bundles too. These can be useful for scenarios where you'd like to: a) install a specific version of our code (e.g. for reproducible environments); b) install on machines without internet access (e.g. air gapped computers); or c) simply do not like automatic updates and would rather manually install software.
We create the following standalone bundles:
- 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (
.tar.gz
) on Linux - 64bit archives (
.tar.gz
) on macOS - 32bit and 64bit archives (
.zip
) and installers (.exe
) on Windows
For all archives we provide separate ones containing only Gccm, and separate ones containing Gccm along with all the developer tools from our repository (abigen
, bootnode
, disasm
, evm
, rlpdump
). Please see our README
for more information about these executables.
To download these bundles, please head the Go Ccmchain Downloads page.
If you prefer containerized processes, you can run ccmchain as a docker container too. We currently maintain four different docker images for running the latest stable or develop versions of Gccm.
-
ccmchain/client-go:latest
is the latest develop version of Gccm -
ccmchain/client-go:stable
is the latest stable version of Gccm -
ccmchain/client-go:{version}
is the stable version of Gccm at a specific version number -
ccmchain/client-go:release-{version}
is the latest stable version of Gccm at a specific version family
We also maintain four different docker images for running the latest stable or develop versions of miscellaneous Ccmchain tools.
-
ccmchain/client-go:alltools-latest
is the latest develop version of the Ccmchain tools -
ccmchain/client-go:alltools-stable
is the latest stable version of the Ccmchain tools -
ccmchain/client-go:alltools-{version}
is the stable version of the Ccmchain tools at a specific version number -
ccmchain/client-go:alltools-release-{version}
is the latest stable version of the Ccmchain tools at a specific version family
The image has the following ports automatically exposed:
-
8545
TCP, used by the HTTP based JSON RPC API -
8546
TCP, used by the WebSocket based JSON RPC API -
30303
TCP and UDP, used by the P2P protocol running the network -
30304
UDP, used by the P2P protocol's new peer discovery overlay
Note, if you are running an Ccmchain client inside a docker container, you might want to mount in a data volume as the client's data directory (located at /root/.ccmchain
inside the container) to ensure that downloaded data is preserved between restarts and/or container life-cycles.
Go Ccmchain (as its name implies) is written in Go, and as such to build from source code you'll need to ensure that you have at least Go 1.11 installed (preferably the latest version, currently at 1.11.4). This guide will not go into details on how to install Go itself, for that please consult the Go installation instructions and grab any needed bundles from the Go download page.
Assuming you have Go installed, you can download our project via:
go get -d github.com/ccm-chain/ccmchain
The above command will checkout the default version of Go Ccmchain into your local GOPATH
work space, but it will not build any executables for you. To do that you can either build one specifically:
go install github.com/ccm-chain/ccmchain/cmd/gccm
Or you can also build the entire project and install gccm
along with all developer tools by running go install ./...
in the repository root inside your GOPATH
work space.
If you do not want to set up Go work spaces on your machine, only build gccm
and forget about the build process, you can clone our repository directly into a folder of your choosing and invoke make
, which will configure everything for a temporary build and clean up after itself:
git clone https://github.com/ccm-chain/ccmchain.git
cd ccmchain
make gccm
This will create a gccm
(or gccm.exe
on Windows) executable file in the ccmchain/build/bin
folder that you can move wherever you want to run from. The binary is standalone and doesn't require any additional files.