Skip to content

Commit

Permalink
add gentx instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
Joe Bowman committed Sep 2, 2022
0 parents commit c4fd6d3
Show file tree
Hide file tree
Showing 4 changed files with 170 additions and 0 deletions.
60 changes: 60 additions & 0 deletions GENTX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Quicksilver Mainnet joining instructions

**If you have not yet installed Quicksilver, follow the instructions [here](README.md)**

## Create a genesis validator

1. Init Chain and start your node

```sh
> quicksilverd init <moniker-name> --chain-id=quicksilver-1
```

2. Create a local key pair
**Note: we recommend _only_ using Ledger for mainnet! Key security is important!**

```sh
> ## create a new key:
> quicksilverd keys add <key-name>
> ## or use a ledger:
> quicksilverd key add <key-name> --ledger
> ## or import an old key:
> quicksilverd keys show <key-name> -a
```

3. Add genesis account

```sh
> quicksilverd add-genesis-account 51000000uqck
```

4. Create gentx file
Use the flags here to set commission rate, self bonds and descriptions and so on.

```sh
> quicksilverd gentx <key> 50000000uqck --moniker <moniker> --chain-id quicksilver-1
```

5. Upload gentx.json
Copy the contents of the above command into a commit at `https://github.com/ingenuity-build/mainnet` in the `gentxs` folder. Name the file with your validator moniker (figment.json, witval.json, etc.) so we can contact you in the event of a problem. If your gentx is invalid and your file is not appropriately named you may miss out on genesis!

### Launch day

1. Check to see if there has been a later release.
If we have had to push any last minute tweaks, ensure you have the latest version of the codebase.

2. Download genesis
Fetch genesis.json into quicksilverd's config directory (default: `~/.quicksilverd`). It shall be released 24h before the network starts.

```sh
> curl -s https://raw.githubusercontent.com/ingenuity-build/mainnet/main/genesis/genesis.tar.gz > genesis.tar.gz
> tar -C ~/.quicksilverd/config/ -xvf genesis.tar.gz
```
3. Check genesis

```sh
> shasum -a 256 ~/.quicksilverd/config/genesis.json
XXX /home/<user>/.quicksilverd/config/genesis.json
```

4. Start your node and get ready to play!
Empty file added PEERS
Empty file.
110 changes: 110 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Quicksilver Mainnet joining instructions

** Note: commit hashes and shasums will be added before launch **

## Minimum hardware requirements

- 4 cores (max. clock speed possible)
- 16GB RAM
- 500GB of NVMe or SSD disk

## Software requirements

Quicksilver has releases for Linux [here](https://github.com/ingenuity-build/quicksilver/releases/tag/v1.0.0).

- Latest version : [v1.0.0](https://github.com/ingenuity-build/quicksilver/releases/tag/v1.0.0)

### Install Quicksilver

Requires [Go version v1.18+](https://golang.org/doc/install).

```sh
> git clone https://github.com/ingenuity-build/quicksilver && cd quicksilver
> git fetch origin --tags
> git checkout v1.0.0
> make install
```

#### Verify installation

To verify if the installation was successful, execute the following command:

```sh
> quicksilverd version --long
```

It will display the version of quicksilverd currently installed:

```sh
name: quicksilverd
server_name: quicksilverd
version: 1.0.0
commit: XXX
build_tags: netgo,ledger
go: go version go1.18 linux/amd64
```
## Genesis validators

**If the network is already running; continue with the steps below. Otherwise follow the instructions [here](GENTX.md) to create an gentx.**

## Create a validator

1. Init Chain and start your node

```sh
> quicksilverd init <moniker-name> --chain-id=quicksilver-1
```

2. Create a local key pair
**Note: we recommend _only_ using Ledger for mainnet! Key security is important!**

```sh
> ## create a new key:
> quicksilverd keys add <key-name>
> ## or use a ledger:
> quicksilverd key add <key-name> --ledger
> ## or import an old key:
> quicksilverd keys show <key-name> -a
```

3. Download genesis
Fetch `genesis.json` into `quicksilverd`'s `config` directory (default: ~/.quicksilverd)

```sh
> curl -s https://raw.githubusercontent.com/ingenuity-build/mainnet/main/genesis/genesis.tar.gz > genesis.tar.gz
> tar -C ~/.quicksilverd/config/ -xvf genesis.tar.gz
```

**Genesis sha256**

```sh
shasum -a 256 ~/.quicksilverd/config/genesis.json
XXX /home/<user>/.quicksilverd/config/genesis.json
```
4. Start your node and sync to the latest block

5. Create validator

```sh
$ quicksilverd tx staking create-validator \
--amount 50000000uqck \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--details "a short description lives here" \
--pubkey=$(quicksilverd tendermint show-validator) \
--moniker <your_moniker> \
--chain-id quicksilver-1 \
--from <key-name>
```
## Peers

```
XXX
```

## Endpoints

- https://rpc.quicksilver.zone
- https://lcd.quicksilver.zone
Empty file added SEEDS
Empty file.

0 comments on commit c4fd6d3

Please sign in to comment.