Installing Go Centurion
Last edited on February 16, 2026There are several ways to install Go Centurion, including downloading a pre-built bundle from GitHub Releases, running as a docker container, or building from downloaded source code. On this page the various installation options are explained for several major operating systems. Users prioritizing ease of installation should choose to use prebuilt bundles. Users prioritizing customization should build from source. It is important to run the latest version of Go Centurion because each release includes bugfixes and improvements over the previous versions. The stable releases are recommended for most users because they have been fully tested. A list of stable releases can be found here. Instructions for updating existing Go Centurion installations are also provided in each section.
Standalone bundle
Stable releases and development builds are provided as standalone bundles on our GitHub Releases page. These are useful for users who: a) wish to install a specific version of Go Centurion (e.g., for reproducible environments); b) wish to install on machines without internet access (e.g. air-gapped computers); or c) wish to avoid automatic updates and instead prefer to manually install software.
The following standalone bundles are available:
- 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
Some archives contain only the geth binary, while other archives contain geth and the various developer tools (clef, devp2p, abigen, bootnode, evm and rlpdump). More information about these executables is available at the README.
The standalone bundles can be downloaded from the Go Centurion Downloads page. To update an existing installation, download and manually install the latest version.
Docker container
A Docker image with recent snapshot builds from our develop branch may be maintained on DockerHub. There are typically four different Docker images available for running the latest stable or development versions.
- gocenturion/centurion:latest is the latest development version (default)
- gocenturion/centurion:stable is the latest stable version
- gocenturion/centurion:{version} is the stable version at a specific version number
- gocenturion/centurion:release-{version} is the latest stable version at a specific version family
Pulling an image and starting a node is achieved by running these commands:
docker pull gocenturion/centurion
docker run -it -p 30303:30303 gocenturion/centurion
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
- 8547 TCP, used by the GraphQL API
- 30303 TCP and UDP, used by the P2P protocol running the network
Note: if you are running a Centurion client inside a Docker container, you should mount a data volume as the client's data directory (located at /root/.centurion inside the container) to ensure that downloaded data is preserved between restarts and/or container life-cycles.
docker run -v $HOME/.centurion:/root/.centurion -it -p 30303:30303 gocenturion/centurion
Updating Go Centurion to the latest version simply requires stopping the container, pulling the latest version from Docker and running it:
docker stop gocenturion/centurion
docker pull gocenturion/centurion:latest
docker run -it -p 30303:30303 gocenturion/centurion
Build from source code
Linux and Mac
The go-centurion repository should be cloned locally. Then, the command make geth configures everything for a temporary build and cleans up afterwards. This method of building only works on UNIX-like operating systems, and a Go installation is still required.
git clone https://github.com/centurion-protocol/go-centurion.git
cd go-centurion
make geth
These commands create a Go Centurion executable file in the go-centurion/build/bin folder that can be moved and run from another directory if required. The binary is standalone and doesn't require any additional files.
To update an existing Go Centurion installation simply stop the node, navigate to the project root directory and pull the latest version from the Go Centurion GitHub repository. then rebuild and restart the node.
cd go-centurion
git pull
make geth
Windows
The Chocolatey package manager provides an easy way to install the required build tools. Chocolatey can be installed by following these instructions. Then, to install the build tool the following commands can be run in an Administrator command prompt:
C:\Windows\system32> choco install git
C:\Windows\system32> choco install golang
C:\Windows\system32> choco install mingw
Installing these packages sets up the path environment variables. To get the new path a new command prompt must be opened. To install Go Centurion, a Go workspace directory must first be created, then the Go Centurion source code can be created and built.
C:\Users\xxx> mkdir src\github.com\go-centurion
C:\Users\xxx> git clone https://github.com/centurion-protocol/go-centurion src\github.com\go-centurion\go-centurion
C:\Users\xxx> cd src\github.com\go-centurion\go-centurion
C:\Users\xxx\src\github.com\go-centurion\go-centurion> go get -u -v golang.org/x/net/context
C:\Users\xxx\src\github.com\go-centurion\go-centurion> go install -v ./cmd/...
FreeBSD
To build Go Centurion from source code on FreeBSD, the Go Centurion GitHub repository can be cloned into a local directory.
git clone https://github.com/centurion-protocol/go-centurion
Then, the Go compiler can be used to build Go Centurion:
pkg install go
If the Go version currently installed is >= 1.5, Go Centurion can be built using the following command:
cd go-centurion
make geth
If the installed Go version is < 1.5 (quarterly packages, for example), the following command can be used instead:
cd go-centurion
CC=clang make geth
To start the node, the following command can be run:
build/bin/centurion
Additionally all the developer tools provided with Go Centurion (clef, devp2p, abigen, bootnode, evm and rlpdump) can be compiled by running make all. More information about these tools can be found here.
To build a stable release, e.g. v1.9.21, the command git checkout v1.9.21 retrieves that specific version. Executing that command before running make geth switches Go Centurion to a stable branch.