testnet v2 (#8)

This commit is contained in:
Leopold Schabel 2021-07-21 22:07:23 +02:00 committed by GitHub
parent 8209d6cef9
commit e374fc6245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 124 additions and 0 deletions

View File

@ -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)

View File

@ -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"
}
}

108
testnetv2/info.md Normal file
View File

@ -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
```