3.9 KiB
Getting Started For Developers
In order for developers to start building modules, they must install the following tools:
Go Programming Language
Go is a language developed and used by some of the largest companies in the world for server/networking applications. Go is used to develop modules and provides optimum performance and flexibility to blockchain developers.
Docker
Docker is a software containerization tool used to spin up and shut down Kava nodes and allows software portability between different operating systems & environments. It is also used to spin up multiple Kava nodes locally and handles basic networking between them with docker compose
.
Set Up bash_profile
Once Go & Docker are installed, update your bash_profile to include the go path and an alias command for one of the tools we will use to handle Kava node interactions
export PATH=/usr/local/go/bin:$PATH
export PATH=$HOME/go/bin:$PATH
export GOPATH=$HOME/go
export GO111MODULE=on
alias dkvcli='docker exec -it generated_kavanode_1 kvcli'
Make sure to source your bash profile or restart it for the changes to take place.
Getting The Kava Repository & Development Tools
Once you have the core tools installed & set up, its now time to get the following repositories from Github:
Set Up a Local Blockchain
Now that you have set up all the tools & repositories in your local machine its finally time to set up a local blockchain.
- Open a terminal and change into the
kvtool
directory. - Ensure Docker is running.
- Run
make install
in your terminal which will installkvtool
in your machine. - Ensure Docker is running.
- Run
kvtool testnet bootstrap
this command will build against the master branch from the kava project, initialize the Docker containers and finally starts a local chain.
Now that you have a local chain running, you can start utilizing the dkvcli
that we set up an alias for. If for whatever reason dkvcli
doesn't work, you can try the following:
- Open a terminal and change into the
kvtool
directory. - In the
kvtool
directory there should be a directory namedfull_configs
change into it. - Once at
full_configs
directory change intogenerated
directory. - Once you are at
generated
run the following commanddocker-compose exec kavanode bash
.
This should open up a bash terminal inside a docker container that will give you access to the kvcli
command line interface. You should see something similar to the snippet below after typing kvcli help
:
bash-5.0# kvcli
Command line interface for interacting with kvd
Usage:
kvcli [command]
Available Commands:
status Query remote node for status
config Create or query an application CLI configuration file
query Querying subcommands
tx Transactions subcommands
rest-server Start LCD (light-client daemon), a local REST server
keys Add or view local private keys
version Print the app version
help Help about any command
Flags:
--chain-id string Chain ID of tendermint node
-e, --encoding string Binary encoding (hex|b64|btc) (default "hex")
-h, --help help for kvcli
--home string directory for config and data (default "/root/.kvcli")
-o, --output string Output format (text|json) (default "text")
--trace print out full stack trace on errors
Use "kvcli [command] --help" for more information about a command.