Skip to content
(mirror) Aquachain: peer-to-peer programmable money, distributed code contract platform.
Go JavaScript NSIS Assembly Makefile C
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gx (gx) IPFS publish at QmXBKPgGXqeNzF3WDbhQcgLcf7ZTkmRan9qhQAnCfNacgp Sep 20, 2018
Documentation Documentation: add wiki snapshot Sep 23, 2018
aqua keystore: skip testing watcher, which is now a noop Aug 10, 2019
aquadb aquadb, core, opt, trie: remove unnecessary conv (gometalinter) Jan 31, 2019
build build/ci.go: switch ldflags based on cgo or not Aug 10, 2019
cmd cmd/aquaminer: add -s flag for one-time hash a single seed Aug 5, 2019
common aqua/downloader, common/metrics/exp: gometalinter Jan 31, 2019
consensus consensus: more documentation, remove duplicate code Oct 14, 2018
core core/types: add/document Block methods SetVersionConfig Aug 11, 2019
crypto all: use verbose import paths for rpc/rpcclient Jul 20, 2019
internal api: implement debug.hashNoNonce and debug.getMinerHash for debugging… Aug 5, 2019
node move prometheus/prometheus/util/flock -> internal/flock Jul 20, 2019
opt opt/reexec: fix import expect Jul 20, 2019
p2p imports: remove last bits (reexec) Jul 20, 2019
params bump to 1.7.10 Aug 5, 2019
rlp all: remove unused Jul 26, 2018
rpc all: use verbose import paths for rpc/rpcclient Jul 20, 2019
trie aquadb, core, opt, trie: remove unnecessary conv (gometalinter) Jan 31, 2019
vendor vendor: remove +unused (rjeczalik/notify) Aug 5, 2019
.gitignore refactor makefile Aug 5, 2019
.travis.yml build: separate slow and fast tests, allow upnp fail Oct 5, 2018
AUTHORS update license information Apr 23, 2018
COPYING docs Mar 20, 2018
COPYING.LESSER aquachain v0 Feb 27, 2018
Dockerfile dockerfile: remove gcc, remove 'make static' (static is default) Aug 20, 2019
Makefile add ci targets back to makefile Aug 10, 2019 remove old travis button Jul 20, 2019
VERSION bump to 1.7.10 Aug 5, 2019
go.mod go.mod: update and remove (some) unnecessary vendored packages Jul 21, 2019
make.bat build: add make.bat for easy compilation on windows Apr 9, 2019
package.json Aquachain 1.7.9 Oct 15, 2018


Latest Source:



Improve the Wiki!

** Found a bug? Need help? see **

See bottom of this document for more useful links. Your contributions are welcome.

General Purpose Distributed Computing

Aquachain: peer-to-peer programmable money, distributed code contract platform.

Target Block Time: 240 second blocks (4 minute)
Block Reward: 1 AQUA
Max Supply: 42 million 
Algorithm: argon2id (CPU mined)
ChainID/NetworkID: 61717561

Known Explorers:

Known GUI Wallets:


The aquachain command (full node, RPC server, and wallet) is a portable program that doesn't really need an 'installer', you can run it from anywhere. When you first start aquachain you will connect to the peer-to-peer network and start downloading the chain. To change the way aquachain runs, for example testnet, or rpc, use command line flags. The location of your keys can be printed with:

`aquachain account list`

You should keep backups your keystore files, and regularly check unlocking them. If not using keys, for example an RPC server, use the -nokeys flag.

List all command line flags using the -h flag, or aquachain help [subcommand]


If you are reading this from the source tree, you can simply use make.

On windows, double-click make.bat to compile aquachain.exe onto your Desktop.

** Patches can be submitted at Github or Gitlab or Mailing List **

To build latest with go, simply use 'go get' and look in $GOPATH/bin:

CGO_ENABLED=0 go get -v -u

or all tools:


To see latest release, check git log or:


"Imported new chain segment" means you received new blocks from the network. When a single block is imported, the address of the successful miner is printed. When you start seeing one every 4 minutes or so, you are fully synchronized.


Create account from the command line: aquachain.exe account new

List accounts from the command line: aquachain.exe account list

Enter AQUA console: aquachain.exe

Start Daemon (geth default): aquachain.exe daemon

See more commands: Wiki

Type help at the AQUA> prompt for common AQUA console commands.

Run aquachain.exe help for command line flags and options.


See "RPC" section in ./Documentation folder and online at:

Start HTTP JSON/RPC server for local ( connections only:

aquachain -rpc

Start HTTP JSON/RPC server for remote connections, listening on, able to be accessed only by

aquachain -rpc -rpchost -allowip

With no other RPC flags, the -rpc flag alone is safe for local usage (from the same machine).

Security Note about RPC: Please be aware that hosting a public RPC server ( will allow strangers access to your system. Do not use the -rpcaddr flag unless you absolutely know what you are doing. Consider using a random RPC port, instead of the default 8543.

For hosting public RPC servers, please consider using -nokeys (new!) and implementing rate limiting on http (and, if using, websockets) , either via reverse proxy such as caddyserver or nginx, or firewall.

Recent builds of aquachain include support for the -allowip flag. It is by default, set to, which doesn't allow any LAN or WAN addresses access to your RPC methods.

To add IPs, use aquachain -rpc -rpchost -allowip,

The CIDR networks are comma separated, no spaces. (the /32 after an IP means 'one IP')

RPC Clients

The JSON/RPC server is able to be used with "Web3" libraries for languages such as Python or Javascript.

For compatibility with existing tools, all calls to eth_ methods are translated to aqua_, behind-the-scenes.

Go packages for creating applications that use Aquachain can be found in this repository, under the opt/aquaclient and rpc/rpcclient namespaces. See each package's documentation (godoc) for more information on usage.


About -

Mining -

Wiki -

Website -


Explorer -

Gitlab -

Github -

Telegram News:

Godoc -

Report bugs -

Telegram Chat:


IRC: #aquachain on freenode



Aquachain is free open source software and your contributions are welcome.

Some tips and tricks for hacking on Aquachain core:

  • Always gofmt -w -l -s before commiting. If you forget, adding a simple 'gofmt -w -l -s' commit works.
  • Before making a merge request, try make test to run all tests. If any tests pass, the PR can not be merged into the master branch.
  • Rebase: Don't git pull to update your branch. instead, from your branch, type git rebase -i master and resolve any conflicts (do this often and there wont be any!)
  • Prefix commit message with package name, such as "core: fix blockchain"
You can’t perform that action at this time.