Skip to main content

Sandbox

Drogon provides a sandbox sub-command to create a local development node. This enables development and testing smart contracts on test network, before we proceed with mainnet.

drogon sandbox
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
Usage: Drogon sandbox [options] [command]

Run a local network in the Drogon project

Options:
-h, --help display help for command

Commands:
init [options] initialize the local network
start [options] start the local network
stop [options] stop the local network
help [command] display help for command

The sandbox subcommands sets up the gochain-local docker container and creates a local network.

To initialize the local sandbox network:

# init sets up the dependencies
drogon sandbox init
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
โœจ Scaffolding done ๐ŸŽ‰
Sandbox initialised

The init subcommand creates a folder inside your Drogon project and configures the Gochain network.

To start the sandbox, Drogon provides a start subcomand.

# start sub command starts the local network
drogon sandbox start
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
/private/tmp/drogon-test./.drogon/sandbox/single

Drogon uses the .keystore.json file if available as the God wallet. If not it generates a new wallet with filename keystore.json inside the project's subfolder .drogon/sandbox/.