mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-26 16:25:21 +00:00
redo readme
This commit is contained in:
parent
6cb0031a8d
commit
c9777e1632
150
README.md
150
README.md
@ -3,137 +3,29 @@
|
|||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
A decentralized fast-finality blockchain for interoperable payment channel networks.
|
A decentralized fast-finality blockchain for interoperable payment channel networks.
|
||||||
Building on the work of Tendermint and Interledger.
|
|
||||||
|
|
||||||
Project status: We're currently in a very early public testnet. With future features being implemented.
|
Providing a base layer currency to settle interoperable payments at high throughput. Leveraging fast finality to allow short cross currency channel timeouts. Proof of stake to provide performance and effective light clients. Payment channels to enable high volume low value transfers at realistic throughput. Streaming credit payments for effective routing and interoperability across chains.
|
||||||
|
|
||||||
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.
|
Proudly building on the work of [Cosmos](https://github.com/cosmos/cosmos-sdk) and [Interledger](https://github.com/interledger/rfcs).
|
||||||
|
|
||||||
|
# Project Status
|
||||||
|
[![Testnet](https://img.shields.io/badge/testnet-live-brightgreen.svg)](http://validator.connector.kava.io:26657/abci_info)
|
||||||
|
[![Go Report Card](https://goreportcard.com/badge/github.com/kava-labs/kava)](https://goreportcard.com/report/github.com/kava-labs/kava)
|
||||||
|
![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)
|
||||||
|
|
||||||
|
We're currently in a very early public testnet, with future features being implemented.
|
||||||
|
|
||||||
|
If you're interested in being a validator join the chat and checkout the setup instructions below.
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
- [Telegram](https://t.me/kavalabs)
|
||||||
|
- [Medium](https://medium.com/kava-labs)
|
||||||
|
- [Validator Chat](https://riot.im/app/#/room/#kava-validators:matrix.org)
|
||||||
|
|
||||||
|
|
||||||
## Install
|
# Find Out More
|
||||||
|
|
||||||
<!--### Source-->
|
- [Installation and Setup](docs/setup.md)
|
||||||
|
- [Basic Usage](docs/usage.md)
|
||||||
Requirements: go installed and set up (version 1.10+).
|
- [Payment Channels](docs/paychans.md)
|
||||||
|
|
||||||
0. If installing from a new Ubuntu server (16.04 or 18.04), here's how to setup go:
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
source ~/.profile
|
|
||||||
|
|
||||||
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
|
|
||||||
git checkout 8c9406c
|
|
||||||
|
|
||||||
2. Install the dependencies.
|
|
||||||
|
|
||||||
mkdir $GOPATH/bin
|
|
||||||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
|
||||||
dep ensure
|
|
||||||
|
|
||||||
3. Install the code
|
|
||||||
|
|
||||||
go install ./cmd/kvd
|
|
||||||
go install ./cmd/kvcli
|
|
||||||
|
|
||||||
<!--### Docker
|
|
||||||
|
|
||||||
Requirements: docker installed.
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
kvd init --name <your-name> --chain-id kava-test-2
|
|
||||||
|
|
||||||
This will generate config and keys in `$HOME/.kvd` and `$HOME/.kvcli`. The default password is 'password'.
|
|
||||||
|
|
||||||
> 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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Add the kava node address, `5c2bc5a95b014e4b2897791565398ee6bfd0a04a@validator.connector.kava.io:26656`, to `seeds` in `$HOME/.kvd/config/config.toml`
|
|
||||||
|
|
||||||
Start your full node
|
|
||||||
|
|
||||||
kvd start
|
|
||||||
|
|
||||||
Or, to start in background and send to log:
|
|
||||||
|
|
||||||
kvd start &> kvd.log &
|
|
||||||
|
|
||||||
To see the output of the log:
|
|
||||||
|
|
||||||
tail -f kvd.log
|
|
||||||
> Note: It might take a while to fully sync. Check the latest block height [here](http://validator.connector.kava.io:26657/abci_info).
|
|
||||||
|
|
||||||
|
|
||||||
## Run a Validator
|
|
||||||
Join the [validator chat](https://riot.im/app/#/room/#kava-validators:matrix.org). Follow setup for a full node above.
|
|
||||||
|
|
||||||
Get you address with `kvcli keys list`. Should look something like `cosmosaccaddr10jpp289accvkhsvrpz4tlj9zhqdaey2tl9m4rg`.
|
|
||||||
|
|
||||||
Ask @rhuairahrighairidh in the chat to give you some coins.
|
|
||||||
|
|
||||||
Get your validator pubkey with `kvd tendermint show_validator`
|
|
||||||
|
|
||||||
Then, your full running in the background or separate window, run:
|
|
||||||
|
|
||||||
kvcli stake create-validator \
|
|
||||||
--amount 900KVA \
|
|
||||||
--pubkey <you validator pubkey from above> \
|
|
||||||
--address-validator <your address from above> \
|
|
||||||
--moniker "<your name>" \
|
|
||||||
--chain-id kava-test-2 \
|
|
||||||
--from <your name> \
|
|
||||||
--gas 1000000
|
|
||||||
|
|
||||||
> Note You'll need to type in the default password "password"
|
|
||||||
|
|
||||||
Now your full node should be participating in consensus and validating blocks!
|
|
||||||
|
|
||||||
Running a validator requires that you keep validating blocks. If you stop, your stake will be slashed.
|
|
||||||
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> \
|
|
||||||
--chain-id kava-test-2 \
|
|
||||||
--shares-percent 1 \
|
|
||||||
--from <your name> \
|
|
||||||
--gas 1000000
|
|
||||||
|
126
docs/setup.md
Normal file
126
docs/setup.md
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Requirements: go installed and set up (version 1.10+).
|
||||||
|
|
||||||
|
0. If installing from a new Ubuntu server (16.04 or 18.04), here's how to setup go:
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
source ~/.profile
|
||||||
|
|
||||||
|
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
|
||||||
|
git checkout 8c9406c
|
||||||
|
|
||||||
|
2. Install the dependencies.
|
||||||
|
|
||||||
|
mkdir $GOPATH/bin
|
||||||
|
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||||
|
dep ensure
|
||||||
|
|
||||||
|
3. Install the code
|
||||||
|
|
||||||
|
go install ./cmd/kvd
|
||||||
|
go install ./cmd/kvcli
|
||||||
|
|
||||||
|
<!--### Docker
|
||||||
|
|
||||||
|
Requirements: docker installed.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
kvd init --name <your-name> --chain-id kava-test-2
|
||||||
|
|
||||||
|
This will generate config and keys in `$HOME/.kvd` and `$HOME/.kvcli`. The default password is 'password'.
|
||||||
|
|
||||||
|
> 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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Add the kava node address, `5c2bc5a95b014e4b2897791565398ee6bfd0a04a@validator.connector.kava.io:26656`, to `seeds` in `$HOME/.kvd/config/config.toml`
|
||||||
|
|
||||||
|
Start your full node
|
||||||
|
|
||||||
|
kvd start
|
||||||
|
|
||||||
|
Or, to start in background and send to log:
|
||||||
|
|
||||||
|
kvd start &> kvd.log &
|
||||||
|
|
||||||
|
To see the output of the log:
|
||||||
|
|
||||||
|
tail -f kvd.log
|
||||||
|
> Note: It might take a while to fully sync. Check the latest block height [here](http://validator.connector.kava.io:26657/abci_info).
|
||||||
|
|
||||||
|
|
||||||
|
## Run a Validator
|
||||||
|
Join the [validator chat](https://riot.im/app/#/room/#kava-validators:matrix.org). Follow setup for a full node above.
|
||||||
|
|
||||||
|
Get you address with `kvcli keys list`. Should look something like `cosmosaccaddr10jpp289accvkhsvrpz4tlj9zhqdaey2tl9m4rg`.
|
||||||
|
|
||||||
|
Ask @rhuairahrighairidh in the chat to give you some coins.
|
||||||
|
|
||||||
|
Get your validator pubkey with `kvd tendermint show_validator`
|
||||||
|
|
||||||
|
Then, your full running in the background or separate window, run:
|
||||||
|
|
||||||
|
kvcli stake create-validator \
|
||||||
|
--amount 900KVA \
|
||||||
|
--pubkey <you validator pubkey from above> \
|
||||||
|
--address-validator <your address from above> \
|
||||||
|
--moniker "<your name>" \
|
||||||
|
--chain-id kava-test-2 \
|
||||||
|
--from <your name> \
|
||||||
|
--gas 1000000
|
||||||
|
|
||||||
|
> Note You'll need to type in the default password "password"
|
||||||
|
|
||||||
|
Now your full node should be participating in consensus and validating blocks!
|
||||||
|
|
||||||
|
Running a validator requires that you keep validating blocks. If you stop, your stake will be slashed.
|
||||||
|
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> \
|
||||||
|
--chain-id kava-test-2 \
|
||||||
|
--shares-percent 1 \
|
||||||
|
--from <your name> \
|
||||||
|
--gas 1000000
|
0
docs/usage.md
Normal file
0
docs/usage.md
Normal file
Loading…
Reference in New Issue
Block a user