Sui Bridge Validator Node Configuration
Running a bridge validator node (bridge node) requires registering your node with the bridge committee. Correct configuration of your node ensures optimal performance and valid metrics data. Follow this topic to make sure you set up your bridge node properly.
- Prerequisites
- Install
suiandsui-bridge-cli.
Installation instructions
To set up and run a bridge node, you need to install sui and sui-bridge-cli. You can install them using one of the following options:
Install from tip of main:
$ cargo install --locked --git "https://github.com/MystenLabs/sui.git" sui sui-bridge-cli
Install with a commit sha:
$ cargo install --locked --git "https://github.com/MystenLabs/sui.git" --rev <SHA> sui sui-bridge-cli
How to register with the bridge committee
To join the network you must first register with the bridge validator committee.
Prepare for metadata
The required metadata includes two things:
BridgeAuthorityKey, an ECDSA key to sign messages. Because this is a hot key that stays in memory, you can use the following tool to generate one and write it to file.- A REST API URL where the bridge node listens to and serves requests, for example
https://bridge.example-sui-validator.io:443. Make sure the port is correct and the URL does not contain any invalid characters.
To create a BridgeAuthorityKey, run
$ sui-bridge-cli create-bridge-validator-key <PATH-TO-WRITE>
where <PATH-TO-WRITE> is the location to write the key pair to.
Create a new key pair in a secure environment (for example, on the same machine where your node runs) to avoid key compromise.
Treat bridge node key custody as a production requirement. Before you go live, confirm the following:
- Generate keys securely. Create the
BridgeAuthorityKey, network key, and any admin keys in a secure environment, offline where possible, and never reuse a key across roles. See user and operator key management. - Separate keys by role. Keep the bridge authority key, network key, and administrative and account keys distinct. Provide a dedicated
bridge-client-key-pathrather than defaulting to the validator key, so a compromise of one key does not expose the others. - Document rotation and recovery. Maintain a written procedure for rotating and recovering each key, including who holds custody and how you replace compromised keys.
- Treat WAF and rate limiting as required. The WAF protection and rate limiting described later on this page are production requirements, not optional hardening.
Registration
After you have both authority key file and REST API URL ready, you can register them by using Sui CLI:
$ sui validator register-bridge-committee --bridge-authority-key-path <BRIDGE-AUTHORITY-KEY-PATH> --bridge-authority-url <BRIDGE-AUTHORITY-URL>
Offline signing
If you keep your validator account key in cold storage or you want to perform offline signing, use flags --print-only and --validator-address (with the value for the validator address). This prints serialized unsigned transaction bytes, then you can use your preferred signing process to produce signed bytes.
Run the following command to execute it:
$ sui client execute-signed-tx
Update metadata (before committee is finalized)
Both key and URL are changeable before committee finalization. If you want to update metadata, rerun sui validator register-bridge-committee.
View registered metadata
To double check you registered the correct metadata onchain, run
$ sui-bridge-cli view-bridge-registration --sui-rpc-url <SUI-FULLNODE-URL>
Update metadata (after committee is finalized)
Use the following command to update bridge node URL:
$ sui validator update-bridge-committee-node-url
See the offline signing section on this page for how to sign the transaction offline.
The bridge does not support authority key rotation yet.
Bridge node
You have several options when configuring your bridge node for performance and metrics monitoring. Follow the instructions in this section to configure your node for best results in your environment.
A bridge node can optionally also run BridgeClient, which orchestrates bridge transfer requests by submitting transactions on the Sui network. You do not need BridgeClient to run a bridge node; see BridgeClient to enable it.
Bridge node hardware requirements
Suggested hardware requirements:
- CPU: 6 physical cores
- Memory: 16GB
- Storage: 200GB
- Network: 100Mbps
Web application firewall (WAF) protection for bridge node
To protect against distributed denial of service (DDoS) attacks and similar attacks intended to expend validator resources, you must provide rate limit protection for the bridge server.
In addition to protection, this gives you fine-grained control over the rate of requests you receive, and observability into those requests.
The currently recommended rate limit is 50 requests/second per unique IP.