Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.gx
 
 
 
 
 
 
 
 
cmd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
opt
 
 
p2p
 
 
 
 
rlp
 
 
rpc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Aquachain

Latest Source: https://gitlab.com/aquachain/aquachain

Mirrored: https://github.com/aquachain/aquachain

Old: https://github.com/aquanetwork/aquachain

Improve the Wiki! https://gitlab.com/aquachain/aquachain/-/wikis/Basics

** Found a bug in this software? Documentation lacking? See https://gitlab.com/aquachain/aquachain/wikis/bugs **

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:

GET AQUACHAIN

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. (see Usage section)

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]

GUI Wallets connect to RPC nodes and offer an easy-to-use interface. Hosting your own RPC server helps you stay more secure and has zero downtime.

COMPILING

Requires Go.

Linux, BSD, Mac OS

If you are reading this from the source tree, you can simply use make, or make all for all tools.

Programs are built to the ./bin/ directory.

Windows

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 gitlab.com/aquachain/aquachain/cmd/aquachain

or all tools:

GOBIN=$PWD CGO_ENABLED=0 go get -v gitlab.com/aquachain/aquachain/cmd/...

To see latest release, check git log or:

SYNCHRONIZING

"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 know that you are fully synchronized with the network.

USAGE

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

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

Enter AQUA javascript 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.

RPC SERVER

See "RPC" section in ./Documentation folder and online at: https://gitlab.com/aquachain/aquachain/wikis/RPC

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

aquachain -rpc

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

aquachain -rpc -rpchost 192.168.1.5 -allowip 192.168.1.6/32

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 (0.0.0.0) 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 127.0.0.1, which doesn't allow any LAN or WAN addresses access to your RPC methods.

To add IPs, use aquachain -rpc -rpchost 192.168.1.4 -allowip 192.168.1.5/32,192.168.2.30/32

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.

Resources

About - https://telegra.ph/Aquachain-AQUA---Decentralized-Processing-07-20

Mining - https://telegra.ph/Mining-AQUA-05-27

Wiki - https://gitlab.com/aquachain/aquachain/wikis

Website - https://aquachain.github.io

ANN - https://bitcointalk.org/index.php?topic=3138231.0

Explorer - https://aquachain.github.io/explorer/

Gitlab - http://gitlab.com/aquachain/aquachain

Github - http://github.com/aquachain

Telegram News: https://t.me/Aquachain

Godoc - https://godoc.org/gitlab.com/aquachain/aquachain#pkg-subdirectories

Report bugs - https://github.com/aquachain/aquachain/issues

Telegram Chat: https://t.me/AquaCrypto

Discord: https://discordapp.com/invite/J7jBhZf

IRC: #aquachain on freenode

Bugs: https://gitlab.com/aquachain/aquachain/wikis/bugs

Contributing

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"