|
| 1 | +--- |
| 2 | +sidebar_position: 5 |
| 3 | +sidebar_label: "🛠️ Running AVS Operator (Mainnet)" |
| 4 | +--- |
| 5 | + |
| 6 | +# Running AVS Operator |
| 7 | + |
| 8 | +Becoming an operator in the RedStone AVS ecosystem is a unique opportunity to play a crucial role in a cutting-edge, decentralized oracle network. |
| 9 | +As an operator, you will contribute directly to the security and accuracy of data that powers smart contracts and decentralized applications across the blockchain. |
| 10 | +Not only will you be helping to maintain the integrity of this innovative system, but you’ll also have the chance to earn rewards for your participation. |
| 11 | + |
| 12 | +:::info |
| 13 | +The following instructions apply to setting up an operator in the mainnet environment running on Ethereum [Mainnet](https://etherscan.io/) (L1), where the EigenLayer contracts |
| 14 | +and Othenic contracts responsible for operator rewards are deployed. Additionally, the L2 Base [Base](https://basescan.org/) network hosts contracts that validate attester signatures |
| 15 | +and store the current price and its timestamp. |
| 16 | +::: |
| 17 | + |
| 18 | +To become an operator in the RedStone AVS network, you’ll need to follow the four steps outlined below. |
| 19 | + |
| 20 | +## Step 1: Getting Whitelisted as an Operator |
| 21 | + |
| 22 | +In order to register as an Operator, you must be first added to the operator whitelist. |
| 23 | + |
| 24 | +Currently, we are in Phase 1, during which only selected operators are being whitelisted. This process may change in Phase 2, allowing for broader participation. |
| 25 | + |
| 26 | +## Step 2: Registering as an Operator |
| 27 | + |
| 28 | +After being whitelisted, the next step in becoming an operator involves registering with both the AVS and EigenLayer systems. |
| 29 | +This registration process is essential for establishing an identity and enabling participation in the RedStone AVS network. |
| 30 | + |
| 31 | +To register, the following command should be executed in the terminal: |
| 32 | + |
| 33 | +```bash |
| 34 | +docker run --platform linux/amd64 -it public.ecr.aws/y7v2w8b2/avs-othentic-client:b7bbe333 operator register |
| 35 | +``` |
| 36 | + |
| 37 | +After executing the command, the following information will be required: |
| 38 | + |
| 39 | +- **Operator's Private Key** (The [Controller](https://docs.othentic.xyz/main/avs-framework/othentic-cli/operator-registration#controller-key-and-consensus-key) key): This is the key used to sign up with the Othentic shared security protocol and is the account to which restakers delegate their staked assets. |
| 40 | +- **Signing Key** (The [Consensus](https://docs.othentic.xyz/main/avs-framework/othentic-cli/operator-registration#controller-key-and-consensus-key) key): This is the key used by the node itself to sign consensus messages. |
| 41 | +- **AVS Governance Contract Address**: the following contract address should be entered: [0x6f943318b05AD7c6EE596A220510A6D64B518dd8](https://etherscan.io/address/0x6f943318b05AD7c6EE596A220510A6D64B518dd8). |
| 42 | + |
| 43 | +## Step 3: Preparing the Configuration File |
| 44 | + |
| 45 | +The next step involves creating a configuration file that will define the essential parameters needed for the operator to function correctly within the RedStone AVS network. |
| 46 | +This configuration file, named `.env`, should contain the following content: |
| 47 | + |
| 48 | +```bash |
| 49 | +DATA_FEED_ID=weETH/ETH_AVS |
| 50 | + |
| 51 | +L1_RPC= # ethereum mainnet RPC endpoint |
| 52 | + |
| 53 | +L2_RPC= # base RPC endpoint |
| 54 | + |
| 55 | +AVS_GOVERNANCE_ADDRESS=0x6f943318b05AD7c6EE596A220510A6D64B518dd8 |
| 56 | +ATTESTATION_CENTER_ADDRESS=0x2B766957ce3dbab9eC4b227f5086855CeE7a1ad6 |
| 57 | +PRIVATE_KEY= # operator's private key |
| 58 | +``` |
| 59 | + |
| 60 | +Below is an explanation of each field and information on which fields need to be filled out: |
| 61 | + |
| 62 | +| Parameter | Description | |
| 63 | +| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- | |
| 64 | +| `DATA_FEED_ID` | The identifier of the token for which the price will be calculated (e.g., ETH for Ethereum) | |
| 65 | +| `L1_RPC` / `L2_RPC` | The RPC endpoint addresses for the L1 (Holesky) and L2 (Amoy) networks, respectively | |
| 66 | +| `L1_CHAIN` / `L2_CHAIN` | The chain IDs for the L1 and L2 networks | |
| 67 | +| `PRIVATE_KEY` | The operator's private key provided during registration, which is required for authentication and signing transactions | |
| 68 | + |
| 69 | +:::tip |
| 70 | +The fields marked with comments (#) need to be filled in with the appropriate values specific to the operator’s setup. |
| 71 | +::: |
| 72 | + |
| 73 | +## Step 4: Running the Operator |
| 74 | + |
| 75 | +To operate within the RedStone AVS network, two Docker images are required: [Attester](/docs/avs/service-components#attester) and [Validation API](/docs/avs/service-components#validation-api). |
| 76 | +These images can be launched using the following Docker Compose configuration: |
| 77 | + |
| 78 | +```yaml |
| 79 | +services: |
| 80 | + operator-attester: |
| 81 | + image: public.ecr.aws/y7v2w8b2/avs-othentic-client:b7bbe333 |
| 82 | + platform: linux/amd64 |
| 83 | + command: |
| 84 | + [ |
| 85 | + "node", |
| 86 | + "attester", |
| 87 | + "/dns/aggregator1-p2p.a.redstone.finance/tcp/3000/p2p/12D3KooWSBMPURmCU5B8nuXkUw1Tq26FuvDg5LsEcs4WX8dqAxWJ", |
| 88 | + "--avs-webapi", |
| 89 | + "http://127.0.0.1", |
| 90 | + "--p2p.port", |
| 91 | + "3000", |
| 92 | + "--l1-chain", |
| 93 | + "mainnet", |
| 94 | + "--l2-chain", |
| 95 | + "base", |
| 96 | + ] |
| 97 | + env_file: |
| 98 | + - .env |
| 99 | + operator-validation-api: |
| 100 | + image: public.ecr.aws/y7v2w8b2/avs-validation-api:b7bbe333 |
| 101 | + platform: linux/amd64 |
| 102 | + env_file: |
| 103 | + - .env |
| 104 | +``` |
| 105 | +
|
| 106 | +To start the operator, simply run the following command in the directory containing the `docker-compose.yml` file: |
| 107 | + |
| 108 | +```sh |
| 109 | +docker compose up |
| 110 | +``` |
| 111 | + |
| 112 | +This will initiate both the Attester and the Validation API services as defined in the Docker Compose file. |
| 113 | + |
| 114 | +:::tip |
| 115 | +The above two Docker images do not necessarily need to be run using Docker Compose. |
| 116 | +Depending on the chosen hosting environment, they can be deployed in a variety of other ways that best suit the operational setup. |
| 117 | +::: |
0 commit comments