crypto.bi

Getting started with AVAX Toolbox

tl;dr;

Clone both avalancheJ and avax-toolbox into the same parent directory.

cd to the avax-toolbox dir and run gradle build

You can find a list of AVAX Toolbox programs and their gradle tasks below.

AVAX Toolbox

AVAX Toolbox is a set of programs I initially wrote to test features from the avalancheJ library. I’ve been using it for my own Avalanche programs since.

It’s meant to work outside web browsers and offer a Java interface to Avalanche. (By the way, AVAX Toolbox is a personal project and is in no way affiliated with Ava Labs and Avalanche.)

Being a hobby project, it’s non-commercial. Our websites are ad-based and we also receive community $AVAX donations, so there’s no need to monetize the application. There is no “spyware”, analytics or any kind of user tracker in Toolbox – no user-data collection at all.

In fact, one of the main AVAX Toolbox design goals is to get rid of the permanent user tracking found on smartphones and web browsers. For some reason, someone decided it was OK to track users’ every online move. It’s my opinion that online trackers don’t actually have to know every time you access your Avalanche wallet.

AVAX Toolbox runs on the Java VM, so you can run it anywhere. Choose your favorite JVM implementation or compile your own from OpenJDK sources if you’re extra careful. You’re also free to run it offline if you want (some programs are specifically marked as airgapped).

AVAX Toolbox is 100% FOSS under BSD 3-Clause License. We just ask you to give us credit if you find it useful. We’re self-sponsored Avalanche hobbyists after all!

Design Goals

The main design goals are:

  • Not use a web-browser for front-end UI
  • To be written in the Java programming language
  • To clearly separate airgapped from networking code
  • Use mainstream standard build tools

AVAX Toolbox – Programs List

AVAX Toolbox comes with a (primitive/experimental) GUI.

You may run the toolbox gradle task to access the front-end.

Air Gapped Programs

Programs which do not require an internet connection are placed in the airgapped package.

Of course this doesn’t affect your OS at all, so set your environment to airplane mode, physically disconnect and these libraries / progs should still work fine.

Wallet Stuff

The wallet functionality is still primitive. There are basic functions right now you can experiment with.

Generate a new mnemonic:
gradle run

Derive an Avalanche address from a public key:
gradle addressfromkey

Generate addresses for a mnemonic wallet:
gradle walletaddresses

Networked Programs

Programs which may access the Internet

Privacy Notes

I emphasized privacy throughout this introduction. So I’d like to take a moment to mention that some 3rd party network services are used by AVAX Toolbox.

These are implemented under the networked Java package in the Toolkit source tree.

What do these network connections do? They connect to the Explorer and API endpoints provided by Ava Labs. These endpoints are meant to be used by the official AVAX Wallet.

Notes

This is experimental hobbyist software. Not an official Ava Labs project.

About the Author
Published by @rektbuildr - Software developer and technical writer. In charge of fixing the coffee machine at crypto.bi. Interest include Java, Avalanche AVAX, C and C++, Spark, Hadoop, Scala language, golang, RedHat OpenShift and kubernetes, container tech, DevOps and related techs. Learn More About Us