Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Genesis new #64

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
957465c
Add love chain info
heejin-github Nov 25, 2022
e9ece08
Update for duality chain
heejin-github Nov 28, 2022
d0fe872
Update Duality genesis
heejin-github Nov 28, 2022
30376b6
Add script about starting relayer
gnongs Nov 29, 2022
68b7f9d
Remove unnecessary file
gnongs Nov 29, 2022
995fb10
Edit configuration file and script
gnongs Nov 29, 2022
0066992
Merge pull request #1 from dsrvlabs/relayer
heejin-github Nov 29, 2022
bf10b18
Update script
heejin-github Nov 29, 2022
3f6e630
Add guide of relayer
gnongs Nov 29, 2022
9ecc867
Add context about goc-relayer-evidence
gnongs Nov 29, 2022
1718759
Merge pull request #3 from dsrvlabs/guide
heejin-github Nov 29, 2022
5812496
Merge pull request #2 from dsrvlabs/script
gnongs Nov 29, 2022
2f5352a
Update genesis time
heejin-github Nov 29, 2022
1cb61f4
Add Proposal
heejin-github Nov 29, 2022
e3df05d
Update README
heejin-github Nov 29, 2022
01085f7
Merge pull request #4 from dsrvlabs/genesis
gnongs Nov 29, 2022
070b37b
Update README
heejin-github Nov 29, 2022
3df4064
Merge pull request #5 from dsrvlabs/readme
skonhwang Nov 29, 2022
02b5ae1
Update for RAND chain
heejin-github Dec 2, 2022
a1478c8
Merge pull request #6 from dsrvlabs/rand
heejin-github Dec 2, 2022
cc4eafb
Update README, proposal
heejin-github Dec 2, 2022
7e8736c
Merge pull request #7 from dsrvlabs/rand
heejin-github Dec 2, 2022
59df208
Update README
heejin-github Dec 2, 2022
940c833
Merge pull request #8 from dsrvlabs/api
heejin-github Dec 2, 2022
f798f99
Update README
heejin-github Dec 2, 2022
10972e5
Merge pull request #9 from dsrvlabs/prop
heejin-github Dec 2, 2022
494473c
Update README.md
heejin-github Dec 5, 2022
b73573b
Add empty genesis for ccv
skonhwang Dec 6, 2022
38cdf49
Merge pull request #10 from skonhwang/main
skonhwang Dec 6, 2022
7affd57
Update rand-genesis.json
skonhwang Dec 6, 2022
e64686e
Fill genesis
skonhwang Dec 6, 2022
0d0379d
Update rand-genesis.json
skonhwang Dec 6, 2022
a18fda2
Merge branch 'main' into fill-genesis
skonhwang Dec 6, 2022
e7aa5f8
Merge pull request #11 from skonhwang/fill-genesis
skonhwang Dec 6, 2022
407cbb9
Delete rand-genesis.json
heejin-github Dec 6, 2022
22d7593
Update genesis for ccv
skonhwang Dec 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
785 changes: 785 additions & 0 deletions game-of-chains-2022/duality/duality-genesis.json

Large diffs are not rendered by default.

217 changes: 217 additions & 0 deletions game-of-chains-2022/duality/fresh-genesis.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
{
"app_hash": "",
"app_state": {
"adminmodule": {
"admins": [
"cosmos10gwktl4l55muy207c7j9k9d9humpj86wm33sn3"
]
},
"auth": {
"accounts": [
{
"@type": "/cosmos.auth.v1beta1.BaseAccount",
"address": "cosmos1rhvj25tutkld9p43y6w8pdfhcfzk270dc76tmn",
"pub_key": null,
"account_number": "0",
"sequence": "0"
},
{
"@type": "/cosmos.auth.v1beta1.BaseAccount",
"address": "cosmos10gwktl4l55muy207c7j9k9d9humpj86wm33sn3",
"pub_key": null,
"account_number": "0",
"sequence": "0"
}
],
"params": {
"max_memo_characters": "256",
"sig_verify_cost_ed25519": "590",
"sig_verify_cost_secp256k1": "1000",
"tx_sig_limit": "7",
"tx_size_cost_per_byte": "10"
}
},
"authz": {
"authorization": []
},
"bank": {
"balances": [
{
"address": "cosmos1rhvj25tutkld9p43y6w8pdfhcfzk270dc76tmn",
"coins": [
{
"denom": "stake",
"amount": "1000000000"
}
]
},
{
"address": "cosmos10gwktl4l55muy207c7j9k9d9humpj86wm33sn3",
"coins": [
{
"denom": "stake",
"amount": "1000000000"
}
]
}
],
"denom_metadata": [],
"params": {
"default_send_enabled": true,
"send_enabled": []
},
"supply": []
},
"capability": {
"index": "1",
"owners": []
},
"ccvconsumer": {
"height_to_valset_update_id": [],
"initial_val_set": [],
"maturing_packets": [],
"new_chain": false,
"outstanding_downtime_slashing": [],
"params": {
"blocks_per_distribution_transmission": "1000",
"ccv_timeout_period": "2419200s",
"consumer_redistribution_fraction": "0.75",
"distribution_transmission_channel": "",
"enabled": false,
"historical_entries": "10000",
"provider_fee_pool_addr_str": "",
"transfer_timeout_period": "3600s",
"unbonding_period": "1728000s"
},
"pending_slash_requests": {
"requests": []
},
"provider_channel_id": "",
"provider_client_id": "",
"provider_client_state": null,
"provider_consensus_state": null
},
"crisis": {
"constant_fee": {
"amount": "1000",
"denom": "stake"
}
},
"dex": {
"LimitOrderTrancheList": [],
"LimitOrderTrancheUserList": [],
"adjanceyMatrixCount": "0",
"adjanceyMatrixList": [],
"edgeRowCount": "0",
"edgeRowList": [],
"feeListCount": "4",
"feeListList": [
{
"fee": "1",
"id": "0"
},
{
"fee": "3",
"id": "1"
},
{
"fee": "5",
"id": "2"
},
{
"fee": "10",
"id": "3"
}
],
"pairMapList": [],
"params": {},
"sharesList": [],
"tickMapList": [],
"tokenMapList": [],
"tokensCount": "0",
"tokensList": []
},
"evidence": {
"evidence": []
},
"feegrant": {
"allowances": []
},
"ibc": {
"channel_genesis": {
"ack_sequences": [],
"acknowledgements": [],
"channels": [],
"commitments": [],
"next_channel_sequence": "0",
"receipts": [],
"recv_sequences": [],
"send_sequences": []
},
"client_genesis": {
"clients": [],
"clients_consensus": [],
"clients_metadata": [],
"create_localhost": false,
"next_client_sequence": "0",
"params": {
"allowed_clients": [
"06-solomachine",
"07-tendermint"
]
}
},
"connection_genesis": {
"client_connection_paths": [],
"connections": [],
"next_connection_sequence": "0",
"params": {
"max_expected_time_per_block": "30000000000"
}
}
},
"params": null,
"slashing": {
"missed_blocks": [],
"params": {
"downtime_jail_duration": "600s",
"min_signed_per_window": "0.500000000000000000",
"signed_blocks_window": "8640",
"slash_fraction_double_sign": "0.050000000000000000",
"slash_fraction_downtime": "0.010000000000000000"
},
"signing_infos": []
},
"transfer": {
"denom_traces": [],
"params": {
"receive_enabled": true,
"send_enabled": true
},
"port_id": "transfer"
},
"upgrade": {},
"vesting": {}
},
"chain_id": "duality",
"consensus_params": {
"block": {
"max_bytes": "22020096",
"max_gas": "-1",
"time_iota_ms": "1000"
},
"evidence": {
"max_age_duration": "172800000000000",
"max_age_num_blocks": "100000",
"max_bytes": "1048576"
},
"validator": {
"pub_key_types": [
"ed25519"
]
},
"version": {}
},
"genesis_time": "2022-11-25T18:13:59.559092Z",
"initial_height": "1"
}
130 changes: 130 additions & 0 deletions game-of-chains-2022/love/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Love Chain Information

Contents

* [Status](#status)
* [Chain Data](#chain-data)
* [Relayer](#relayer)

## Status

* Timeline
* 2022-12-02: Spawn Time : `2022-12-02T13:00:00.000000000Z`
* 2022-12-01: Proposal 33 voting period ends
* 2022-11-29: Proposal 33 goes into voting period
* 2022-11-29: Genesis file without CCV state is generated

Love will launch as a consumer chain through a governance proposal in the `provider` chain. Read the [Consumer Chain Start Process](/docs/Consumer-Chain-Start-Process.md) page for more details about the workflow.

The following items will be included in the proposal:
* Genesis file hash
* The SHA256 is used to verify against the genesis file that the proposer has made available for review.
* This "fresh" genesis file cannot be used to run the chain: it must be updated with the CCV states after the spawn time is reached.
* Binary hash
* Spawn time
* Even if the proposal passes, the CCV states will not be available from the provider chain until after the spawn time is reached.

## Chain Data

### Binary

The binary published in this repo is the `loved` binary built using the `dsrvlabs/love` repo tag [v0.0.1](https://github.com/dsrvlabs/love/releases/tag/v0.0.1). You can generate the binary following the [Get Started section](https://github.com/dsrvlabs/love/tree/v0.0.1#get-started).

* [Linux amd64 build](loved)
* Version: `main-397067303b1a543fed873071b34c984c8dce7920`
* SHA256: `1aadeb9d9d8495159e9d51e75e2948f6b59f992a68d0da3221a59db7a415b5b8`

### Genesis file

**The genesis file for Interchain Security consumer chains must include the CCV (Cross Chain Validation) state generated by the provider chain _after_ the spawn time is reached.**

Final genesis file **with CCV state**: `**pending spawn time**`
- SHA256: `pending spawn time`
- Validators must replace their `config/genesis.json` file with this one before running the binary.

The genesis file with was generated using the following settings:

* Chain ID: `love-1`
* Denom: `ulove`
* Signed blocks window: `"8640"`
* Genesis accounts were added to provide funds for a faucet and a relayer that will be run by the testnet coordinators.
* Genesis file **without CCV state**: [`love-fresh-genesis.json`](love-fresh-genesis.json), SHA256: `dcb20193ec5ad0341f3fe33ae8c073a08714fe3f755aebf410a6d835382d8a41`
* **This is provided only for verification, this is not the genesis file validators should be running their nodes with.**

## Endpoints

* **p2p persistent peers : `[email protected]:46656,[email protected]:26656`**
* These peers represent the `DSRV` validator. please consider sharing your peers in discord, or create a PR to peers.txt
* Please keep in mind that any validator that does not come online after 67% of the voting power is up and running, is likely to be slashed for downtime, potentially resulting in being jailed (the `signed_blocks_window` parameter is set to `8640`).

## Join via Bash Script

On the node machine:
- Copy the `node_key.json` and `priv_validator_key.json` files for your validator.
- **These should be the same ones as the ones from your provider node**.
- Run one of the following scripts:
- Love service: [love-init.sh](love-init.sh)
- Cosmovisor service: [love-init-cv.sh](love-init-cv.sh)
- Wait until the spawn time is reached and the genesis file with the CCV states is available.
- Overwrite the genesis file with the one that includes the CCV states.
- The default location is `$HOME/.love/config/genesis.json`.
- Enable and start the service:
- Love
```
sudo systemctl enable love
sudo systemctl start love
```
- Cosmovisor
```
sudo systemctl enable cv-love
sudo systemctl start cv-love
```
- To follow the log, use:
- Love: `journalctl -fu love`
- Cosmovisor: `journalctl -fu cv-love`
- If the log does not show up right away, run `systemctl restart systemd-journald`.

## Relayer
If you want to get 20 points for task 21 [Run a relayer](https://github.com/hyphacoop/ics-testnets/tree/main/game-of-chains-2022#run-a-relayer) in game-of-chain, you just follow below guide.

0. Clone this repo
```sh
$ git clone https://github.com/dsrvlabs/ics-testnets.git
```

1. Move to relayer folder
```sh
$ cd ics-testnets/game-of-chain/love/relayer
```

2. Edit `run_rly.sh`

Input your validator account mnemonic, memo, rpc and grpc address.

_If you don't have grpc, you can leave empty string. ex. `GRPC_XXXXXX=""`_

```sh
3 providerMnmonic="24 words"
4 memo="Your relayer information"
5 chains=("provider" "sputnik" "hero" "neutron" "gopher")
6 RPC_PROVIDER="https://127.0.0.1:26657"
7 GRPC_PROVIDER="https://127.0.0.1:29090"
8 RPC_SPUTNIK="https://127.0.0.1:26657"
9 GRPC_SPUTNIK="https://127.0.0.1:29090"
10 RPC_HERO="https://127.0.0.1:26657"
11 GRPC_HERO="https://127.0.0.1:29090"
12 RPC_NEUTRON="https://127.0.0.1:26657"
13 GRPC_NEUTRON="https://127.0.0.1:29090"
14 RPC_GOPHER="https://127.0.0.1:26657"
15 GRPC_GOPHER="https://127.0.0.1:29090"
```

3. Execute `run_rly.sh`

```sh
$ bash run_rly.sh
```
You can find your relayer's valset update count with this tool([goc-relayer-evidence](https://github.com/gnongs/goc-relayer-evidence))I, Please check out this repo.

If you reached 500 times of relay, Please stop relayer for others :D.

Loading