Go to file
Dan Laine 6c6136d551 only downsize underlying arrays if they're much too large 2020-06-23 16:44:02 -04:00
.ci removed obsolete before_install_osx.sh 2020-05-23 12:46:11 -05:00
.github build: Add ansible-lint exceptions for pre-existing lint 2020-04-30 21:54:09 +01:00
api GET to ext/health returns 200 if heathy, else 500 2020-06-19 14:05:11 -04:00
cache add minimumCacheSize 2020-06-16 16:11:21 -04:00
chains formatting changes 2020-06-17 23:29:30 -04:00
database only downsize underlying arrays if they're much too large 2020-06-23 16:44:02 -04:00
genesis reverted breaking changes 2020-06-18 01:45:58 -04:00
ids only downsize underlying arrays if they're much too large 2020-06-23 16:44:02 -04:00
main reverted breaking changes 2020-06-18 01:45:58 -04:00
nat Move Geth to a plugin connected at runtime 2020-04-16 11:39:20 -04:00
network reverted breaking changes 2020-06-18 01:45:58 -04:00
node version bump 2020-06-19 17:56:35 -04:00
scripts merged 2020-06-07 18:15:49 -04:00
snow only downsize underlying arrays if they're much too large 2020-06-23 16:44:02 -04:00
staking make staking cert/key read-only 2020-06-22 10:53:10 -04:00
utils move codec to utils 2020-06-15 13:20:30 -04:00
version version constants 2020-05-25 23:09:31 -04:00
vms only downsize underlying arrays if they're much too large 2020-06-23 16:44:02 -04:00
xputtest move codec to utils 2020-06-15 13:20:30 -04:00
.codecov.yml init repo 2020-03-10 15:20:34 -04:00
.editorconfig Standardise newline and trailing whitespace conventions 2020-05-11 20:31:59 +01:00
.gitignore Move Geth to a plugin connected at runtime 2020-04-16 11:39:20 -04:00
.travis.yml re-enable full build 2020-05-18 14:58:29 -05:00
Dockerfile Removed C dependencies from the dockerfile 2020-05-23 17:28:16 -04:00
LICENSE init repo 2020-03-10 15:20:34 -04:00
README.md updated readme 2020-05-25 23:14:37 -04:00
go.mod Register a timeout for querying ourselves to ensure we never drop a query 2020-06-11 18:00:21 -04:00
go.sum formatting changes 2020-06-17 23:29:30 -04:00

README.md

Gecko

Installation

AVA is an incredibly lightweight protocol, so the minimum computer requirements are quite modest.

  • Hardware: 2 GHz or faster CPU, 3 GB RAM, 250 MB hard disk.
  • OS: Ubuntu >= 18.04 or Mac OS X >= Catalina.
  • Software: Go version >= 1.13.X and set up $GOPATH.
  • Network: IPv4 or IPv6 network connection, with an open public port.

Native Install

Clone the Gecko repository:

go get -v -d github.com/ava-labs/gecko/...
cd $GOPATH/src/github.com/ava-labs/gecko

Building the Gecko Executable

Build Gecko using the build script:

./scripts/build.sh

The Gecko binary, named ava, is in the build directory.

Docker Install

  • Make sure you have docker installed on your machine (so commands like docker run etc. are available).
  • Build the docker image of latest gecko branch by scripts/build_image.sh.
  • Check the built image by docker image ls, you should see some image tagged gecko-xxxxxxxx, where xxxxxxxx is the commit id of the Gecko source it was built from.
  • Test Gecko by docker run -ti -p 9650:9650 -p 9651:9651 gecko-xxxxxxxx /gecko/build/ava --public-ip=127.0.0.1 --snow-sample-size=1 --snow-quorum-size=1 --staking-tls-enabled=false. (For a production deployment, you may want to extend the docker image with required credentials for staking and TLS.)

Running Gecko and Creating a Local Test Network

To create your own local test network, run:

./build/ava --public-ip=127.0.0.1 --snow-sample-size=1 --snow-quorum-size=1 --staking-tls-enabled=false

This launches an AVA network with one node.

You should see some pretty ASCII art and log messages. You may see a few warnings. These are OK.

You can use Ctrl + C to kill the node.

If you want to specify your log level. You should set --log-level to one of the following values, in decreasing order of logging.

  • --log-level=verbo
  • --log-level=debug
  • --log-level=info
  • --log-level=warn
  • --log-level=error
  • --log-level=fatal
  • --log-level=off