Skip to content

Commit

Permalink
Merge pull request #33 from onomyprotocol/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
cgdusek authored Apr 30, 2024
2 parents 71857d4 + 4a87ea3 commit af92d6f
Show file tree
Hide file tree
Showing 17 changed files with 301,347 additions and 33 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
/Cargo.lock
/appnamed
/onexd
/.idea/
56 changes: 42 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@

![GH2AFkdW4AAcOe4](https://github.com/onomyprotocol/onex/assets/76499838/83d43179-3781-4e7a-95af-f3b054bc8e74)

The `onex-mainnet-1` chain will be launched as a consumer chain secured by the Onomy Network.
## Details

- Network information: https://github.com/onomyprotocol/validator/tree/main/testnet
The `onex-mainnet-1` chain will be launched as a consumer chain to the Onomy mainnet parent chain `onomy-mainnet-1`.

- Network information: https://github.com/onomyprotocol/onex/tree/main/chain/onex-mainnet-1
- Chain ID: `onex-mainnet-1`
* Spawn time: `March 4th, 2024` (Will be updated soon)
* Genesis file (without CCV): https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis-without-ccv.json
* Spawn time: `April 29th, 2024 17:00 UTC`
* Genesis file (without CCV): https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis-without-ccv.json
* Genesis with CCV: Available soon
- Current version: `v1.0.3-onex`
- Current version: `v1.1.0`
* Binary:
* Version: [v1.0.3-onex](https://github.com/onomyprotocol/onex/releases/tag/v1.0.3-onex)
* Version: [v1.1.0](https://github.com/onomyprotocol/onex/releases/tag/v1.1.0)
* SHA256: `e719ac86618953dee759e111c414cded126d54b8b8ae4f9f8b21015b06c1d91c`
* Onex GitHub repository: https://github.com/onomyprotocol/onex
- Peers: ``
Expand Down Expand Up @@ -48,26 +50,25 @@ Here is the detail of the Onomy provider chain:
[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:52756,[email protected]:26656
```


### 4. Setup Onex consumer chain
### 2. Setup Onex consumer chain
The validators also need to set up the `onex-mainnet-1` consumer chain. Here are the commands to install the binary and set up the new chain.
```bash
# detail of setup will appear here
cd $HOME/go/bin
wget -O onexd https://github.com/onomyprotocol/onex/releases/download/v1.0.3-onex/onexd && chmod +x onexd
onexd version # v1.0.3-onex
wget -O onexd https://github.com/onomyprotocol/onex/releases/download/v1.1.0/onexd && chmod +x onexd
onexd version # v1.1.0
onexd init <moniker> --chain-id onex-mainnet-1
cd $HOME/.onex/
wget -O config/genesis.json https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis-without-ccv.json
wget -O config/genesis.json https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis-without-ccv.json
```

The validators **MUST NOT** run the node but wait until the new genesis is published on the Onomy repository, which will be detailed in step **[5. Vote the consumer-addition proposal](#5-vote-the-consumer-addition-proposal)**.
The validators **MUST NOT** run the node but wait until the new genesis is published on the Onomy repository, which will be detailed in step **[3. Vote on the consumer-addition proposal](#5-vote-on-the-consumer-addition-proposal)**.

### 5. Vote on the consumer-addition proposal
### 3. Vote on the consumer-addition proposal
The proposal to launch `onex-mainnet-1` as a consumer chain will be submitted on the Onomy provider mainnet and the validators should participate in voting for the proposal. After the proposal is passed, the validators should wait until the `spawn_time` and replace the old genesis file with the new `genesis-with-ccv.json` file from the Onomy repository.

```bash
wget -O /$HOME/.onex/config/genesis.json https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis.json
wget -O /$HOME/.onex/config/genesis.json https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis.json
```

### 6. Wait for genesis and run
Expand All @@ -77,6 +78,32 @@ At the genesis time, validators can start the consumer chain by running
onexd start
```

> Note: if validators choose to run onex and onomy in the same machine, it is highly recommended to setup separate ports to prevent clashing. These ports are: P2P, RPC, REST, gRPC, gRPC-web
The validators can also use service to run and monitor the node. Here is the example of `/etc/systemd/system/onex.service`:
```
[Unit]
Description=Onex node
After=network.target
[Service]
ExecStart=/$HOME/go/bin/onexd start --p2p.persistent_peers="[email protected]:26756,[email protected]:36656"
Restart=always
RestartSec=3
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
```

After that, run these commands to enable and start the chain:
```bash
systemctl daemon-reload
systemctl enable onex.service
systemctl restart onex.service
```
and run `journalctl -fu onex -n150` to check the log.


## Launch Stages
|Step|When?|What do you need to do?|What is happening?|
Expand All @@ -87,3 +114,4 @@ onexd start
|4 |`spawn_time` reached |The `genesis-with-ccv.json` file will be provided in the testnets repo. Replace the old `genesis.json` in the `$HOME/.onex/config` directory with the new `genesis-with-ccv.json`. The new `genesis-with-ccv.json` file with ccv data will be published in [onomyprotocol/valiadtor](https://github.com/onomyprotocol/validator/tree/main/testnet/onex-mainnet-1) |
|5 |Genesis reached | Start your node with the consumer binary | onex-mainnet-1 chain will start and become a consumer chain. |
|6 |3 blocks after upgrade height |Celebrate! :tada: 🥂 |<chain> blocks are now produced by the provider validator set|

2 changes: 1 addition & 1 deletion app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ import (

const (
AppName = "onex"
upgradeName = "v1.0.2-dev"
upgradeName = "v1.1.0"
AccountAddressPrefix = "onomy"
)

Expand Down
43 changes: 34 additions & 9 deletions chain/onex-mainnet-1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

The `onex-mainnet-1` chain will be launched as a consumer chain in Onomy mainnet.

- Network information: https://github.com/onomyprotocol/validator/tree/main/testnet
- Network information: https://github.com/onomyprotocol/onex/tree/main/chain/onex-mainnet-1
- Chain ID: `onex-mainnet-1`
* Spawn time: `March 4th, 2024` (Will be updated soon)
* Genesis file (without CCV): https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis-without-ccv.json
* Spawn time: `April 29th, 2024 17:00 UTC`
* Genesis file (without CCV): https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis-without-ccv.json
* Genesis with CCV: Available soon
- Current version: `v1.0.3-onex`
* Binary:
Expand Down Expand Up @@ -46,8 +46,7 @@ Here is the detail of the Onomy provider chain:
[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:52756,[email protected]:26656
```


### 4. Setup Onex consumer chain
### 2. Setup Onex consumer chain
The validators also need to set up the `onex-mainnet-1` consumer chain. Here are the commands to install the binary and set up the new chain.
```bash
# detail of setup will appear here
Expand All @@ -56,16 +55,16 @@ wget -O onexd https://github.com/onomyprotocol/onex/releases/download/v1.0.3-one
onexd version # v1.0.3-onex
onexd init <moniker> --chain-id onex-mainnet-1
cd $HOME/.onex/
wget -O config/genesis.json https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis-without-ccv.json
wget -O config/genesis.json https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis-without-ccv.json
```

The validators **MUST NOT** run the node but wait until the new genesis is published on the Onomy repository, which will be detailed in step **[5. Vote the consumer-addition proposal](#5-vote-the-consumer-addition-proposal)**.
The validators **MUST NOT** run the node but wait until the new genesis is published on the Onomy repository, which will be detailed in step **[3. Vote on the consumer-addition proposal](#5-vote-on-the-consumer-addition-proposal)**.

### 5. Vote on the consumer-addition proposal
### 3. Vote on the consumer-addition proposal
The proposal to launch `onex-mainnet-1` as a consumer chain will be submitted on the Onomy provider mainnet and the validators should participate in voting for the proposal. After the proposal is passed, the validators should wait until the `spawn_time` and replace the old genesis file with the new `genesis-with-ccv.json` file from the Onomy repository.

```bash
wget -O /$HOME/.onex/config/genesis.json https://raw.githubusercontent.com/onomyprotocol/validator/main/testnet/onex-mainnet-1/genesis.json
wget -O /$HOME/.onex/config/genesis.json https://raw.githubusercontent.com/onomyprotocol/onex/main/chain/onex-mainnet-1/genesis.json
```

### 6. Wait for genesis and run
Expand All @@ -75,6 +74,32 @@ At the genesis time, validators can start the consumer chain by running
onexd start
```

> Note: if validators choose to run onex and onomy in the same machine, it is highly recommended to setup separate ports to prevent clashing. These ports are: P2P, RPC, REST, gRPC, gRPC-web
The validators can also use service to run and monitor the node. Here is the example of `/etc/systemd/system/onex.service`:
```
[Unit]
Description=Onex node
After=network.target
[Service]
ExecStart=/$HOME/go/bin/onexd start --p2p.persistent_peers="[email protected]:26756,[email protected]:36656"
Restart=always
RestartSec=3
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
```

After that, run these commands to enable and start the chain:
```bash
systemctl daemon-reload
systemctl enable onex.service
systemctl restart onex.service
```
and run `journalctl -fu onex -n150` to check the log.


## Launch Stages
|Step|When?|What do you need to do?|What is happening?|
Expand Down
Loading

0 comments on commit af92d6f

Please sign in to comment.