diff --git a/README.md b/README.md index 3ec31ab..48755c6 100644 --- a/README.md +++ b/README.md @@ -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: `` @@ -48,26 +50,25 @@ Here is the detail of the Onomy provider chain: 211535f9b799bcc8d46023fa180f3359afd4c1d3@44.213.44.5:26656,00ce2f84f6b91639a7cedb2239e38ffddf9e36de@44.195.221.88:26656,cd9a47cebe8eef076a5795e1b8460a8e0b2384e5@3.210.0.126:26656,60194df601164a8b5852087d442038e392bf7470@180.131.222.74:26656,0dbe561f30862f386456734f12f431e534a3139c@34.133.228.142:26656,4737740b63d6ba9ebe93e8cc6c0e9197c426e9f4@195.189.96.106:52756,00ce2f84f6b91639a7cedb2239e38ffddf9e36de@44.195.221.88: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 --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 @@ -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="f80867e8181a07b26a17e4f597b0cfb7408b1b2a@180.131.222.73:26756,eb823e14ff73127ccce3e17bd674046b290416f1@51.250.106.107: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?| @@ -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: 🥂 | blocks are now produced by the provider validator set| +