-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(docs): update node operator docs (#1660)
update node operator docs, requirements, and more. issue: none
- Loading branch information
Showing
8 changed files
with
146 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Node Types | ||
|
||
## Validators | ||
|
||
- stake **\$OMNI** and **\$ETH**, and receive delegations for cryptoeconomic security | ||
- build, propose, and attest to new blocks | ||
- attest to cross chain blocks (`XBlocks`) | ||
- receive **\$OMNI** rewards for performing their duties | ||
- receive penalties (slashes) if they do not perform their duties | ||
|
||
## Full Nodes | ||
|
||
- do block by block validation of the network | ||
- verify block body and state data for each block (not cross chain block data) | ||
- store the last `n` chain states | ||
- serve network data to other nodes | ||
- can serve RPC endpoints for users, developers, and services | ||
|
||
## Archive Nodes | ||
|
||
- full nodes that never delete any downloaded data | ||
- store chain state for every historical block | ||
|
||
## Seed Nodes | ||
|
||
- maintain an address book of peers on the p2p network | ||
- help new nodes bootstrap p2p connections |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Running a Full Node | ||
|
||
Currently, anyone can run a node on Omega Testnet. Stay tuned for running full nodes on mainnet. | ||
|
||
## Omni Omega Testnet | ||
|
||
Please note that if you're running an Omega full node, you will need to redeploy it several times, as the network is being redeployed with new features frequently. | ||
|
||
### Quick Start | ||
|
||
The simplest way to run a full node is with the following commands: | ||
|
||
```bash | ||
# Install the Omni CLI (alternate instructions here: https://docs.omni.network/tools/cli/) | ||
curl -sSfL https://raw.githubusercontent.com/omni-network/omni/main/scripts/install_omni_cli.sh | sh -s | ||
|
||
# init geth and halo | ||
omni operator init-nodes --network=omega --moniker=foo --clean | ||
|
||
# start geth and helo | ||
cd ~/.omni/omega | ||
docker compose up | ||
``` | ||
|
||
Congrats, you're running a full node! | ||
|
||
### Details | ||
|
||
What's actually happening here? | ||
|
||
- First, you're installing the `omni` cli. We've packaged up several flows into this CLI to make running a node easier for operators. | ||
- The `init-nodes` command is used to generate genesis files and node initialization configs in your `~/.omni/` directory. | ||
- `docker compose up` spins up a docker container for `halo` and `geth`, and starts your node. | ||
|
||
### Node Requirements | ||
|
||
| Category | Recommendation | | ||
| --- | --- | | ||
| Cores | 4 | | ||
| Bandwidth | 100 Mbps | | ||
| RAM | 16GB | | ||
| SSD Hard Disk | 500 GB | | ||
| Docker | 24.0.7 | | ||
| Operating System | Linux/macOS (arm/64) | | ||
|
||
Inbound ports will be enabled for cometBFT (tcp://266567) and Geth (tcp://30303, udp://30303) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Running a Validator | ||
|
||
## Validator Requirements | ||
|
||
### Running full nodes for supported chains | ||
|
||
In the Omni Network, **validators must also run full nodes for supported chains**, since validators attest to cross chain blocks (`XBlocks`). Mainnet v1 includes: Ethereum, Arbitrum, Optimism, and Base. If you are interested in becoming a validator, you must have robust infrastructure supporting full nodes for each of these chains. | ||
|
||
### Staking | ||
|
||
Validators must stake **\$OMNI**. Validators can also opt into receiving **\$ETH** delegations once the Eigenlayer integration is complete. | ||
|
||
## Validator Whitelist | ||
|
||
Omni currently has a validator whitelist. A future network upgrade will enable permissionless validator registration. | ||
|
||
## Mainnet Staking Network Upgrades | ||
|
||
There will be several network upgrades to enable various validator / staking features. Some of these features include: | ||
|
||
- Withdrawals: similar to the Beacon Chain launch, validators will not initially be able to withdrawal their $OMNI stake. | ||
- Delegations: validators can receive **\$OMNI** delegations. | ||
- **\$ETH** Restaking: validators can opt into receiving restaked **\$ETH** delegations, pending Eigenlayer slashing. | ||
- Permissionless validator registration: anyone can register, and collect delegations to be included in the active set. | ||
|
||
## AVS Registration | ||
|
||
Operators can currently register with Omni's Eigenlayer AVS contract. Please note that **\$ETH** delegation counting for validator power will only be enabled in the mainnet staking upgrades listed above, and is not available in mainnet v1. The full Eigenlayer integration is pending **\$ETH** slashing being available as a feature in Eigenlayer (if **\$ETH** isn't slashable, it can't count for economic security yet). | ||
|
||
You can follow Eigenlayer's instructions [here](https://docs.eigenlayer.xyz/eigenlayer/operator-guides/operator-installation) to register your operator key with their contracts. | ||
|
||
Then you can run the following command to register within the Omni AVS contract: | ||
|
||
```bash | ||
omni operator register --config-file ~/path/to/operator.yaml | ||
``` | ||
|
||
## Node Requirements | ||
|
||
| Category | Recommendation | | ||
| --- | --- | | ||
| Cores | 4 | | ||
| Bandwidth | 100 Mbps | | ||
| RAM | 16GB | | ||
| SSD Hard Disk | 500 GB | | ||
| Docker | 24.0.7 | | ||
| Operating System | Linux/macOS (arm/64) | | ||
|
||
Inbound ports will be enabled for cometBFT (tcp://266567) and Geth (tcp://30303, udp://30303) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters