2021-08-04 12:25:12 -07:00
|
|
|
# Wormhole v2 Mainnet
|
|
|
|
|
2021-08-04 21:05:07 -07:00
|
|
|
Wormhole mainnet connects the following chains:
|
2021-08-04 12:25:12 -07:00
|
|
|
|
|
|
|
- Solana [Mainnet Beta](https://docs.solana.com/clusters#mainnet-beta).
|
|
|
|
|
|
|
|
- Ethereum Mainnet.
|
|
|
|
|
|
|
|
- Terra Columbus mainnet.
|
|
|
|
|
|
|
|
- Binance Smart Chain mainnet.
|
|
|
|
|
2021-09-13 04:57:22 -07:00
|
|
|
It runs the [v2.4.0](https://github.com/certusone/wormhole/releases/tag/v2.4.0) guardiand reference implementation.
|
2021-08-04 12:25:12 -07:00
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
2021-09-13 04:57:22 -07:00
|
|
|
| Network | Wormhole core contract address |
|
2021-08-04 12:25:12 -07:00
|
|
|
|-------------------------------|------------------------------------------------|
|
2021-09-13 04:57:22 -07:00
|
|
|
| Ethereum Mainnet (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://etherscan.io/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) |
|
2021-08-04 12:25:12 -07:00
|
|
|
| Ethereum Mainnet (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://etherscan.io/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) |
|
2021-09-13 04:57:22 -07:00
|
|
|
| Binance Smart Chain (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://bscscan.com/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) |
|
2021-08-04 12:25:12 -07:00
|
|
|
| Binance Smart Chain (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://bscscan.com/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) |
|
|
|
|
| Solana Mainnet | [`worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth`](https://explorer.solana.com/address/worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth) |
|
2021-10-05 13:14:54 -07:00
|
|
|
| Terra Columbus-5 | [`terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5`](https://finder.terra.money/columbus-5/address/terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5) |
|
2021-08-04 12:25:12 -07:00
|
|
|
|
2021-08-10 06:16:47 -07:00
|
|
|
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.
|
2021-08-04 12:25:12 -07:00
|
|
|
|
|
|
|
## Guardian set
|
|
|
|
|
2021-08-10 10:36:15 -07:00
|
|
|
Current generation: **1**.
|
2021-08-04 12:25:12 -07:00
|
|
|
|
|
|
|
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
|
2021-09-13 04:57:22 -07:00
|
|
|
ExecStart=/opt/wormhole/wormhole/build/bin/guardiand node \
|
2021-08-04 12:25:12 -07:00
|
|
|
--bootstrap "/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWL6xoqY8yU2xR2K6cP6jix4LnGSrRh94HCKiK371qUFeU" \
|
2021-08-04 20:56:52 -07:00
|
|
|
--network "/wormhole/mainnet/2" \
|
2021-08-04 12:25:12 -07:00
|
|
|
--ethContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
|
|
|
|
--bscContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \
|
2021-09-13 04:57:22 -07:00
|
|
|
--solanaContract "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \
|
2021-10-05 13:14:54 -07:00
|
|
|
--terraContract "terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5" \
|
2021-08-04 12:25:12 -07:00
|
|
|
--adminSocket /run/guardiand/admin.socket \
|
|
|
|
--dataDir /opt/wormhole/data \
|
2021-09-13 04:57:22 -07:00
|
|
|
--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
|
|
|
|
--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
|
2021-08-04 12:25:12 -07:00
|
|
|
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
|
|
|
|
```
|