diff --git a/mainnetv2/guardianset/v1.prototxt b/mainnetv2/guardianset/v1.prototxt new file mode 100644 index 0000000..35c17da --- /dev/null +++ b/mainnetv2/guardianset/v1.prototxt @@ -0,0 +1,10 @@ +# do not modify timestamp +timestamp: 1628094930 + +# Add your mainnet v2 nodes here. A maximum of 19 nodes can be specified! +guardian_set: { + guardians: { + pubkey: "0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5" + name: "Certus One" + } +} diff --git a/mainnetv2/info.md b/mainnetv2/info.md new file mode 100644 index 0000000..b0a13a5 --- /dev/null +++ b/mainnetv2/info.md @@ -0,0 +1,97 @@ +# Wormhole v2 Mainnet + +This Wormhole testnet 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) | + +The Terra deployment is still in progress. Specify `--terraContract "pending"` in the meantime - the Terra +watcher will fail, but all other chains will work. + +## Guardian set + +Current generation: **0**, containing only the Certus One bootstrap node with the +address `0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5`. + +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/testnet/2" \ + --ethContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \ + --bscContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \ + --solanaBridgeAddress "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \ + --terraContract "pending" \ + --adminSocket /run/guardiand/admin.socket \ + --dataDir /opt/wormhole/data \ + --terraChainID "columbus-4" \ + --nodeName "" \ # <-- 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 +```