Wormhole mainnet connects the following chains:
-
Solana Mainnet Beta.
-
Ethereum Mainnet.
-
Terra Columbus mainnet.
-
Binance Smart Chain mainnet.
It runs the v2.5.0 guardiand reference implementation.
Gossip network name:
/wormhole/mainnet/2
Gossip bootstrap node:
/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWQp644DK27fd3d4Km3jr7gHiuJJ5ZGmy8hH4py7fP4FP7
Connected chain contracts:
Network | Wormhole core contract address |
---|---|
Ethereum Mainnet (Core) | 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B |
Ethereum Mainnet (Impl) | 0x736d2a394f7810c17b3c6fed017d5bc7d60c077d |
Binance Smart Chain (Core) | 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B |
Binance Smart Chain (Impl) | 0x736d2a394f7810c17b3c6fed017d5bc7d60c077d |
Solana Mainnet | worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth |
Terra Columbus-5 | terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5 |
Polygon Mainnet (Core) | 0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7 |
Polygon Mainnet (Impl) | 0xd2F50cAFfCaf238a0C3e78Ce81c5BF7D9f7f3350 |
Eth and BSC use the same deployer key, leading to identical addresses. This key has no privileges.
Current generation: 3 (see v3.prototext).
Refer to the operations guide on how to set up a node. Example systemd unit file:
[Unit]
Description=wormhole v2 guardiand
Requires=network.target
After=network.target
[Service]
User=wormhole
Group=wormhole
ExecStart=/opt/wormhole/wormhole/build/bin/guardiand node \
--bootstrap "/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWL6xoqY8yU2xR2K6cP6jix4LnGSrRh94HCKiK371qUFeU" \
--network "/wormhole/mainnet/2" \
--ethContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
--bscContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
--polygonContract "0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7" \
--solanaContract "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \
--terraContract "terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5" \
--adminSocket /run/guardiand/admin.socket \
--dataDir /opt/wormhole/data \
--nodeName "<your name>" \ # <-- your node's name (for network explorer usage)
--nodeKey "/opt/wormhole/keys/wormhole-node.key" \ # <-- node key (auto-generated if not present)
--guardianKey "/opt/wormhole/keys/wormhole-guardian.key" \ # <-- your guardian key generated by "guardiand keygen"
--ethRPC "wss://your-eth-node" \ # <-- your ETH full/light node websocket URI (ws:// or wss://)
--bscRPC "wss://bsc-node.example.com" \ # <-- your BSC full/light node websocket URI
--polygonRPC "wss://polygon-node.example.com" \ # <-- your Polygon Bor full/light node websocket URI
--solanaRPC "http://solana-node:8899" \ # <-- Solana RPC URI
--solanaWS "ws://solana-node:8900" \ # <-- Solana WS URI (typically RPC +1)
--terraWS "ws://terra-node/websocket" \ # <-- Terra node websocket URI
--terraLCD "http://terra-node:1317" \ # <-- Terra LCD server HTTP URI
--statusAddr=[::]:6060 # <-- exposes Prometheus metrics - firewall recommended
RuntimeDirectory=guardiand
RuntimeDirectoryMode=700
RuntimeDirectoryPreserve=yes
PermissionsStartOnly=yes
PrivateTmp=yes
PrivateDevices=yes
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
CapabilityBoundingSet=CAP_IPC_LOCK
NoNewPrivileges=yes
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target