Usage
You can get list of sub-commands supported by Drogon by running:
โฏ drogon -h
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
Usage: Drogon [options] [command]
Compile, Test and Deploy ICON Contracts with ease!
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
install Installs required SCORE dependencies
init Initialize a new Drogon project
compile [options] Compile the Drogon contracts
test [options] Run the tests against the Drogon contracts
gradlew [options] Run gradlew commands against the Drogon project
optimize [options] Optmize contracts from the Drogon project
deploy [options] Deploy contracts from the Drogon project
keystore [options] Generate keystore
goloop [options] Run goloop commands against the Drogon project
sandbox Run a local network in the Drogon project
help [command] display help for command
Drogon keeps an asusmption that the user is already familiar with developing ICON SCORE smart contracts.
Drogon provides the option to install the SCORE dependencies as docker containers. This is done inorder to keep the local system clean.
โฏ drogon install -h
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
Usage: Drogon install [options]
Installs required SCORE dependencies
Options:
-h, --help display help for command
Please make sure Docker is running before running
drogon install
โฏ drogon install
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
โ pending Installing Drogon
โจ Drogon ready for use.
โ success Drogon ready for use.
Drogon provides a sub-command to scaffold a initialize a project. This wizard-like process asks questions and bootstraps a new project with sample code for you.
โฏ drogon init
_ .-') _ _ .-') .-') _ ,---.
( ( OO) )( \( -O ) ( OO ) )| |
\ .'_ ,------. .-'),-----. ,----. .-'),-----. ,--./ ,--,' | |
,`'--..._)| /`. '( OO' .-. ' ' .-./-') ( OO' .-. '| \ | |\ | |
| | \ '| / | |/ | | | | | |_( O- )/ | | | || \| | )| |
| | ' || |_.' |\_) | |\| | | | .--, \\_) | |\| || . |/ | .'
| | / :| . '.' \ | | | |(| | '. (_/ \ | | | || |\ | `--'
| '--' /| |\ \ `' '-' ' | '--' | `' '-' '| | \ | .--.
`-------' `--' '--' `-----' `------' `-----' `--' `--' '--'
โ Name of the project โฆ drogon-test
โ Do you want to initialize your Drogon project with samples? โฆ no / yes
โ Do you want to generate a keystore for this project? โฆ no / yes
โ Pick a boilerplate โบ - Use arrow-keys. Return to submit.
โฏ Hello World
IRC2 Token
IRC3 Token
IRC31 Token
Multisig Wallet
Sample Crowdsale
Sample Token
โจ Scaffolding done ๐
This should create a new project folder called drogon-test
in the current working directory.
โฏ tree drogon-test
drogon-test
โโโ build.gradle
โโโ drogon-config.json
โโโ settings.gradle
โโโ src
โโโ hello-world
โโโ build.gradle
โโโ src
โโโ main
โย ย โโโ java
โย ย โโโ com
โย ย โโโ iconloop
โย ย โโโ score
โย ย โโโ example
โย ย โโโ HelloWorld.java
โโโ test
โโโ java
โโโ com
โโโ iconloop
โโโ score
โโโ example
โโโ AppTest.java
15 directories, 6 files
Project Structure overviewโ
โฏ tree drogon-test
drogon-test
โโโ build.gradle
โโโ drogon-config.json
โโโ settings.gradle
โโโ src
โโโ hello-world
โโโ build.gradle
โโโ src
โโโ main
โย ย โโโ java
โย ย โโโ com
โย ย โโโ iconloop
โย ย โโโ score
โย ย โโโ example
โย ย โโโ HelloWorld.java
โโโ test
โโโ java
โโโ com
โโโ iconloop
โโโ score
โโโ example
โโโ AppTest.java
15 directories, 6 files
- src: the folder containing your smart contracts written in Java.
- test: the folder containing Java tests
- drogon-config.yaml: the configuration file which defines networks and accounts to be used for the deployment.
Currently the drogon-config is WIP. In future, we plan to make this as the one place deployment configuration file.