2018-08-20 20:36:35 +00:00
< h1 >
< img alt = "Kava Blockchain" src = "./kava-logo.svg" width = "200" >
< / h1 >
2018-05-25 13:46:33 +00:00
2018-08-17 15:32:38 +00:00
A decentralized fast-finality blockchain for interoperable payment channel networks.
Building on the work of Tendermint and Interledger.
2018-05-25 13:46:33 +00:00
2018-08-17 15:32:38 +00:00
Project status: We're currently in a very early public testnet. With future features being implemented.
2018-09-04 03:10:30 +00:00
Try it out - run a full node to sync to the testnet, [send some off chain payments ](internal/x/paychan/README.md ), or set up as a validator.
2018-08-17 15:32:38 +00:00
## Install
2018-08-21 00:19:20 +00:00
<!-- ### Source -->
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
Requirements: go installed and set up (version 1.10+).
2018-08-17 15:32:38 +00:00
2018-08-21 20:39:57 +00:00
0. If installing from a new Ubuntu server (16.04 or 18.04), here's how to setup go:
2018-08-21 21:44:51 +00:00
2018-08-21 20:39:57 +00:00
sudo apt update
sudo apt upgrade -y
sudo apt install git gcc make wget -y
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
sudo tar -xvf go1.10.3.linux-amd64.tar.gz
sudo mv go /usr/local
cat >> ~/.profile < < EOF
export GOROOT=/usr/local/go
export GOPATH=\$HOME/go
export PATH=\$GOPATH/bin:\$GOROOT/bin:\$PATH
EOF
2018-08-29 14:05:25 +00:00
source ~/.profile
2018-08-21 20:39:57 +00:00
2018-08-20 21:41:30 +00:00
1. Get the code.
mkdir -p $GOPATH/src/github.com/kava-labs
cd $GOPATH/src/github.com/kava-labs
git clone https://github.com/kava-labs/kava
cd kava
2018-09-04 15:21:58 +00:00
git checkout 8c9406c
2018-08-20 21:41:30 +00:00
2. Install the dependencies.
mkdir $GOPATH/bin
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure
2018-08-17 15:32:38 +00:00
2018-08-20 21:41:30 +00:00
3. Install the code
go install ./cmd/kvd
go install ./cmd/kvcli
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
<!-- ### Docker
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
Requirements: docker installed.
2018-08-17 15:32:38 +00:00
No installation necessary, just prepend commands with `docker run kava/kava` . TODO name necessary to avoid new contianer being created each time?
This will use our docker container `kava/kava` and store all blockchain data and keys within the container. -->
<!-- To store this data outisde the conatiner, attach volumes to the container:
docker run --rm -v $HOME/.kvd:/root/.kvd -v $HOME/.kvcli:/root/.kvcli kava/kava < further commands >
Now blockchain data will be stored in `$HOME/.kvd` and keys in `$HOME/.kvcli` . Also the `--rm` flag removes the contianer after each run.
-->
<!-- ## Send Transactions
You can send transactions on the testnet using our node without yncing a local node.
Requirements
TODO users need to set up keys first?
kvcli < args > --node validator.connector.kava.io:26657 --chain-id kava-test-< current version >
-->
## Run a Full Node
2018-09-04 01:51:41 +00:00
kvd init --name < your-name > --chain-id kava-test-2
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
This will generate config and keys in `$HOME/.kvd` and `$HOME/.kvcli` . The default password is 'password'.
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
> Note: Make sure `GOBIN` is set and added to your path if you want to be able to run installed go programs from any folder.
2018-08-20 21:41:30 +00:00
2018-09-04 01:51:41 +00:00
Copy the testnet genesis file (from https://raw.githubusercontent.com/Kava-Labs/kava/master/testnets/kava-test-2/genesis.json) into `$HOME/.kvd/config/` , replacing the existing one.
2018-08-17 15:32:38 +00:00
2018-09-04 01:51:41 +00:00
Add the kava node address, `5c2bc5a95b014e4b2897791565398ee6bfd0a04a@validator.connector.kava.io:26656` , to `seeds` in `$HOME/.kvd/config/config.toml`
2018-08-17 15:32:38 +00:00
Start your full node
kvd start
2018-08-21 00:19:20 +00:00
> Note: It might take a while to fully sync. Check the latest block height [here](http://validator.connector.kava.io:26657/abci_info).
2018-08-17 15:32:38 +00:00
## Run a Validator
2018-08-17 21:40:38 +00:00
Join the [validator chat ](https://riot.im/app/#/room/#kava-validators:matrix.org ). Follow setup for a full node above.
2018-08-20 21:41:30 +00:00
Get you address with `kvcli keys list` . Should look something like `cosmosaccaddr10jpp289accvkhsvrpz4tlj9zhqdaey2tl9m4rg` .
2018-08-17 15:32:38 +00:00
Ask @rhuairahrighairidh in the chat to give you some coins.
Get your validator pubkey with `kvd tendermint show_validator`
2018-08-21 00:19:20 +00:00
Then, your full running in the background or separate window, run:
2018-08-20 21:41:30 +00:00
2018-08-17 15:32:38 +00:00
kvcli stake create-validator \
2018-08-20 21:41:30 +00:00
--amount 900KVA \
2018-08-17 15:32:38 +00:00
--pubkey < you validator pubkey from above > \
--address-validator < your address from above > \
--moniker "< your name > " \
2018-09-04 01:51:41 +00:00
--chain-id kava-test-2 \
2018-08-17 15:32:38 +00:00
--from < your name >
2018-08-21 00:19:20 +00:00
> Note You'll need to type in the default password "password"
2018-08-17 15:32:38 +00:00
2018-08-21 00:19:20 +00:00
Now your full node should be participating in consensus and validating blocks!
2018-08-17 15:32:38 +00:00
2018-08-20 21:41:30 +00:00
Running a validator requires that you keep validating blocks. If you stop, your stake will be slashed.
2018-08-17 15:32:38 +00:00
In order to stop validating, first remove yourself as validator, then you can stop your node.
kvcli stake unbond begin \
--address-delegator < your address > \
--address-validator < your address > \
2018-09-04 01:51:41 +00:00
--chain-id kava-test-2 \
2018-08-17 15:32:38 +00:00
--shares-percent 1 \
2018-08-19 21:10:53 +00:00
--from < your name >