Skip to main content

Register right from your node with Plus

MEV Plus comes out-of-the-box with modules to assist you in registering your validators on-chain directly from your consensus node local machine keeping keys safe.

By means of the pre-packaged module called K2, Plus can be configured with an on-chain ethereum wallet to perform transactions to all contracts on-chain using the following tutorial.

The following tutorial assumes that MEV Plus is already set up. If Plus is not set up, the following guide can be used: Setup plus.

1. Configure Plus alongside Boost

Update the mevPlus.service file and pass the flags specified in the configuration below:

[Unit]
Description=MEV Plus Service for Ethereum
Wants=network-online.target
After=network-online.target

[Service]
User=mevPlus
Group=mevPlus
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/mevPlus \
-builderApi.listen-address <your_preferred_builderapi_address> \
-externalValidatorProxy.address <your_existing_valdator_proxy_listening_address> \
-k2.eth1-private-key <your_eth1_private_key> \
-k2.beacon-node-url <your_beacon_node_url> \
-k2.execution-node-url <your_execution_node_url> \
-k2.registration-only

[Install]
WantedBy=multi-user.target

Replace <your_eth1_private_key>, <your_beacon_node_url>, and <your_execution_node_url> with your Eth1 private key that will be your proposer representative, beacon node URL, and execution node URL on your node respectively.

Replace <your_existing_validator_proxy_listening_address> with the address that the MEV boost software is running on, and set the <your_preferred_builderapi_address> builder to the address configurable on your node for builder services (Plus will hook into this). Ensure both software are running on different listening addresses. This would allow for MEV Boost software to run as normal and have PoN login registrations working side by side.

For example:

Important note on the beacon node client:

One last thing: the beacon node in your client needs to be updated to point to Plus. The builder endpoint in your beacon node client needs to point to http://127.0.0.1:18551 if that is how Plus is configured as above. This way Plus and Boost will work side by side. Boost will continue doing what Boost does best and Plus will focus on PoN login registrations.

As per the Consensus client Builder API configurations section mentioned above, here are some examples of what flags may need to be set depending on which consensus client is configured:

  • Lighthouse: --builder http://127.0.0.1:18551
  • Teku: --validators-builder-registration-default-enabled=true --builder-endpoint=http://127.0.0.1:18551
  • Loadstar: --builder --builder.urls http://127.0.0.1:18551
  • Nimbus: --payload-builder=true --payload-builder-url=http://127.0.0.1:18551
  • Prysm: --http-mev-relay=http://127.0.0.1:18551

Boost and Plus service files should remain unchanged during the node configuration at this point.

2. Reload systemd

Save the system files for your Plus configuration and reload systemctl to pick up the new changes:

sudo systemctl daemon-reload

3. Start the MEV Plus service if not started already

sudo systemctl start mevPlus

4. Check the status

If everything was done correctly, the output should say “active (running)” in green, check this by running

sudo systemctl status mevPlus

If not, go back and repeat the steps to fix the problem. To quit the status check, press Q.

5. Explore MEV Plus logs

Explore MEV Plus logs to verify its operation as configured.

sudo journalctl -fu mevPlus

Inspect the logs to confirm that MEV Plus is running without issues. You should now see logs from the k2 module, starting and identifying your wallet address. By means of the BuilderAPI your consensus node, would make registration requests every epoch to the connected MEV Plus. The module then processes these registration requests and deems which ones are registered on-chain in the Proposer Registry smart contract and which are new keys from your node that may need registration and skip or execute these actions respectively and timely, without the need of human-intervention.

The K2 module powering this on-chain registration has further use cases and ability to include your validator in re-staking K2 pool which you can check out here, with further module information here

This is the recommended most hands-off and dynamic option for proposer registration. All keys are never leave your local machine, and the existing Plus software to be configured for block forwarding to and from relays to your node doubles as a gateway to on-chain services.