# Wormhole v2 Mainnet Wormhole mainnet connects the following chains: - Solana [Mainnet Beta](https://docs.solana.com/clusters#mainnet-beta). - Ethereum Mainnet. - Terra Columbus mainnet. - Binance Smart Chain mainnet. It runs the [v2.4.0](https://github.com/certusone/wormhole/releases/tag/v2.4.0) guardiand reference implementation. ## Network parameters Gossip network name: /wormhole/mainnet/2 Gossip bootstrap node: /dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWL6xoqY8yU2xR2K6cP6jix4LnGSrRh94HCKiK371qUFeU Connected chain contracts: | Network | Wormhole core contract address | |-------------------------------|------------------------------------------------| | Ethereum Mainnet (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://etherscan.io/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) | | Ethereum Mainnet (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://etherscan.io/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) | | Binance Smart Chain (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://bscscan.com/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) | | Binance Smart Chain (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://bscscan.com/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) | | Solana Mainnet | [`worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth`](https://explorer.solana.com/address/worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth) | | Terra Columbus-5 | [`terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5`](https://finder.terra.money/columbus-5/address/terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5) | Eth and BSC use the same deployer key, leading to identical addresses. This key has no privileges. ## Terra Multisig Columbus-4 does not allow contracts to upgrade themselves. Therefore, the Columbus-4 contract has been deployed using a multisig wallet: | Holder | Key | |----------------|--------------------------------------------------------------------------------| | Certus One | `terrapub1addwnpepq2sakzkw3dz427pj9rudtvdjmpjs7k3cah6afhwarqdtp630tt50ghak5xd` | | Terraform Labs | `terrapub1addwnpepqtlu2m33tfqgaglayzp2dnhv6s8994qcvuqtv5t3jsegrt58dt39jn5mt8v` | | P2P Validator | `terrapub1addwnpepqtmgahrsyw6t7d48zr7yxml4ydy8mjp67tkxsdhexf7fy0tkgeez204um3y` | Resulting wallet: `terra1xcp70wju9rsdh466y9g6a3c8shhuggdqmq8987` Once Terra was upgraded to Columbus-5, this multisig wallet will be used to redeploy the Wormhole contract. After the upgrade, the contract will be governed by the guardian set, eliminating the need for the multisig wallet. ## Guardian set Current generation: **1**. See [v1.prototext](guardianset/v1.prototxt) for the first guardian set update that will be executed once everyone's node on the network is live. ## Example command line options Refer to the [operations guide](https://github.com/certusone/wormhole/blob/dev.v2/docs/operations.md) 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" \ --solanaContract "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \ --terraContract "terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5" \ --adminSocket /run/guardiand/admin.socket \ --dataDir /opt/wormhole/data \ --nodeName "" \ # <-- 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 --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 ```