Building from the source
You will need the latest version of the Go programming language.
Here we are using go1.19.2, there is likely a newer version of go, use that instead.
Installing Go on Linux
wget https://go.dev/dl/go1.19.2.linux-amd64.tar.gz
sudo tar xvaf go1.19.2.linux-amd64.tar.gz -C /usr/local/
sudo ln /usr/local/go/bin/go* /usr/local/bin/
Installing Go on Apple macOS
wget https://go.dev/dl/go1.19.2.darwin-amd64.tar.gz
sudo tar xvaf go1.19.2.darwin-amd64.tar.gz -C /usr/local/
sudo ln /usr/local/go/bin/go* /usr/local/bin/
Checking Go version
which go
go version
Downloading The Source
git clone https://gitlab.com/aquachain/aquachain
cd aquachain
Compiling
In the base directory of the repository, you can run a variety of 'make' targets.
When finished compiling, they are in the ./bin
directory.
build the Aquachain command (p2p node, rpc server)
make
it should pop out as ./bin/aquachain or ./bin/aquachain.exe if on windows.
Customized Build
or build any of the available targets
all crossold goget race
bin/ default hash release
bootnode devtools help release/
checkrelease docs install test
clean echoflags linter
cross generate package
Cross Compilation
This is how releases can be made, using pure Go toolchain and no C dependencies.
make clean release release=1
Contributing
If you are contributing, you will want to 'fork' the main repo on github, and add your fork like so, changing your-name
and patch-1
to whatever you need:
git remote add fork git@github.com:yourname/aquachain.git
git checkout -b patch-1
When done making commits, use git push fork patch-1
and either open a pull request or ask to merge.
During development on your branch there may be many commits on the master
branch. You can re-synchronize by using git pull -r origin master
or git rebase -i
to avoid needing Merge commits.