wormhole-networks/mainnetv2/info.md

113 lines
5.2 KiB
Markdown

# 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.2.0](https://github.com/certusone/wormhole/releases/tag/v2.2.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 | Bridge contract addresss |
|-------------------------------|------------------------------------------------|
| Ethereum Mainnet (Bridge) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://etherscan.io/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) |
| Ethereum Mainnet (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://etherscan.io/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) |
| Binance Smart Chain (Bridge) | [`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-4 | [`terra1fdhpw5s2t20lt60d0k3zkk262fcam7ummh2egf`](https://finder.terra.money/columbus-4/address/terra1fdhpw5s2t20lt60d0k3zkk262fcam7ummh2egf) |
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 bridge \
--bootstrap "/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWL6xoqY8yU2xR2K6cP6jix4LnGSrRh94HCKiK371qUFeU" \
--network "/wormhole/mainnet/2" \
--ethContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
--bscContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
--solanaBridgeAddress "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \
--terraContract "terra1fdhpw5s2t20lt60d0k3zkk262fcam7ummh2egf" \
--adminSocket /run/guardiand/admin.socket \
--dataDir /opt/wormhole/data \
--terraChainID "columbus-4" \
--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)
--bridgeKey "/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
```