From e374fc624572ca67474f6d4d17eb64f1b47d5520 Mon Sep 17 00:00:00 2001 From: Leopold Schabel Date: Wed, 21 Jul 2021 22:07:23 +0200 Subject: [PATCH] testnet v2 (#8) --- README.md | 6 ++ testnetv2/guardianset/v1.prototxt | 10 +++ testnetv2/info.md | 108 ++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 testnetv2/guardianset/v1.prototxt create mode 100644 testnetv2/info.md diff --git a/README.md b/README.md index fdab5c9..f862b5a 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,11 @@ This repository contains launch, governance and other information about public Wormhole networks. +## Wormhole v1 + - [Testnet v1](testnetv1/info.md) - [Mainnet v1](mainnetv1/info.md) + +## Wormhole v2 + +- [Testnet v2](testnetv2/info.md) diff --git a/testnetv2/guardianset/v1.prototxt b/testnetv2/guardianset/v1.prototxt new file mode 100644 index 0000000..5e4b057 --- /dev/null +++ b/testnetv2/guardianset/v1.prototxt @@ -0,0 +1,10 @@ +timestamp: 1626892010 + +# Add your testnet v2 nodes here. A maximum of 19 nodes can be specified! +guardian_set: { + # idx = 0 + guardians: { + pubkey: "0x13947Bd48b18E53fdAeEe77F3473391aC727C638" + name: "Certus One" + } +} diff --git a/testnetv2/info.md b/testnetv2/info.md new file mode 100644 index 0000000..8593f93 --- /dev/null +++ b/testnetv2/info.md @@ -0,0 +1,108 @@ +# Wormhole v2 Testnet + +This Wormhole testnet connects the following chains: + +- Solana [Tour de Sol testnet](https://docs.solana.com/clusters#testnet). + +- Ethereum [Goerli testnet](https://goerli.net). + +- Terra [Tequila-0004 testnet](https://finder.terra.money/tequila-0004/). + +- Binance Smart Chain *(soon)* + +It runs the [v2.0.0](https://github.com/certusone/wormhole/releases/tag/v2.0.0) guardiand reference implementation. + +## Important differences from v2 + +Wormhole v2 is a **full redesign and not backwards compatible**. + +When it comes to guardiand operation, the basics stay the same - we observe events from various connected chains, +sign them and broadcast the signature to the network. Here's the main operational differences compared to v1: + +- guardiand now has a **data directory** and is no longer stateless. guardiand will start maintaining local + network state like a gossip address book, persisted signed VAAs and a high watermark to catch up on missed blocks. + You do not need to back up the data directory, but it's recommended to copy it when migrating between servers - + doing so will improve network health. + +- Terra is no longer optional - you need to connect a **Terra node**. + +- guardiand no longer sends on-chain transactions. This means that **no wallets or funds are required** anymore 🎉 + It also means that the **Rust agent is no longer required**. + +## Network parameters + +Gossip network name: + + /wormhole/testnet/2 + +Gossip bootstrap node: + + /dns4/wormhole-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWRzE71KXnZ8NF3N1Za6koiQh9CwzuyFnuisNHg6tB8RKV + +Connected chain contracts: + +| Network | Bridge contract addresss | +|---------------------------|------------------------------------------------| +| Ethereum Goerli (Bridge) | [`0x44F3e7c20850B3B5f3031114726A9240911D912a`](https://goerli.etherscan.io/address/0x44F3e7c20850B3B5f3031114726A9240911D912a) | +| Ethereum Goerli (Impl) | [`0x78563ACB348209743F3b0968b91eC7563f2fB535`](https://goerli.etherscan.io/address/0x78563ACB348209743F3b0968b91eC7563f2fB535) | +| Solana Tour de Sol | [`H3SjyXYezgWj1ktCrazLkD8ydj9gzmEi4w9zRCXg2G4R`](https://explorer.solana.com/address/H3SjyXYezgWj1ktCrazLkD8ydj9gzmEi4w9zRCXg2G4R?cluster=testnet) | +| Terra Tequila-0004 | [`terra1whed88ncakawrnwgq7vyqly5elftw3wvnjjrps`](https://finder.terra.money/tequila-0004/address/terra1whed88ncakawrnwgq7vyqly5elftw3wvnjjrps) | + +## Guardian set + +Current generation: **0**, containing only the Certus One bootstrap node with the +address `0x13947Bd48b18E53fdAeEe77F3473391aC727C638`. + +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-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWRzE71KXnZ8NF3N1Za6koiQh9CwzuyFnuisNHg6tB8RKV" \ + --network "/wormhole/testnet/2" \ + --ethContract "0x44F3e7c20850B3B5f3031114726A9240911D912a" \ + --solanaBridgeAddress "H3SjyXYezgWj1ktCrazLkD8ydj9gzmEi4w9zRCXg2G4R" \ + --terraContract "terra1whed88ncakawrnwgq7vyqly5elftw3wvnjjrps" \ + --adminSocket /run/guardiand/admin.socket \ + --dataDir /opt/wormhole/data \ + --terraChainID "tequila-4" \ + --nodeName "NodeyMcNodeface" \ # <--- 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://) + --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 +```