A useful tool for various scripts that we as an engineering team might run. There are two versions, one in python and one in typescript. The TS version is being more actively developed at this time.
# Install packages
yarn
If you want to use this tool from anywhere, add an alias to your ~/.bash_profile.
alias celotooljs=<YOUR_PATH_TO_MONOREPO>/packages/celotool/bin/celotooljs.sh
Running celotooljs
should give you the output like the following that let's you know what you can do:
celotooljs <command>
Commands:
celotooljs account <accountCommand> commands for inviting, fauceting,
looking up accounts and users
celotooljs backup command for backing up a miner's
persistent volume (PVC)
celotooljs copy-contract-artifacts command for copying contract
artifacts in a format to be easily
consumed by other (typescript)
packages. It will use the ABI of a
particular contract and swap the
address for the address of the
Proxy.
celotooljs copy-policies command for copying stackdriver
alerting policies from one
environment to another
celotooljs deploy <deployMethod> commands for deployment of various
<deployPackage> packages in the monorepo
celotooljs geth <command> commands for geth
celotooljs links <resource> commands for various useful links
celotooljs port-forward command for port-forwarding to a
specific network
celotooljs restore command for restoring a miner's
persistent volume (PVC) from
snapshot
celotooljs switch command for switching to a
particular environment
celotooljs transactions <command> commands for reading transaction
data
Options:
--version Show version number [boolean]
--verbose Whether to show a bunch of debugging output like stdout and
stderr of shell commands [boolean] [default: false]
--yesreally Reply "yes" to prompts about changing staging/production
(be careful!) [boolean] [default: false]
--help Show help [boolean]
Run this command:
celotooljs account invite --celo-env integration --phone +<YOUR_E164_PHONE_NUMBER>
Run this command:
celotooljs account faucet --celo-env <integration-or-your-testnet> --account <account-address> --gold 10 --dollar 10
You might need to setup a local node for some reasons, therefore celotooljs
provides you with
a few useful commands to make running a node really easy.
- Clone Celo Blockchain repo
- Build
celotooljs geth build --geth-dir <directory-where-you-cloned-geth-repo> -c
- Init
celotooljs geth init --geth-dir <directory-where-you-cloned-geth-repo> --data-dir <geth-data-dir> -e <env-name>
- Run
celotooljs geth run --geth-dir <directory-where-you-cloned-geth-repo> --data-dir <geth-data-dir> --sync-mode <full | fast | light | ultralight>
-
Setup the environment variables: MNEMONIC, and GETH_ACCOUNT_SECRET.
-
Deploy:
celotooljs deploy initial testnet -e yourname
-
Get pods:
kubectl get pods -n yourname
-
Start shell:
kubectl exec -n podname -it podname /bin/sh
-
Tear down:
celotooljs deploy destroy testnet -e yourname
- Install Helm 2.14.0 from https://get.helm.sh/ (Homebrew lacks this version.) To get past the Unidentified Developer error: open the directory containing helm, then ctrl-click helm and select Open then Open again. Repeat for tiller.