wormhole-networks/testnetv1/info.md

4.2 KiB

Wormhole Testnet

This Wormhole testnet connects the following chains:

Network parameters

Gossip network name:

/wormhole/testnet/1

Gossip bootstrap node:

/dns4/wormhole-testnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWH3VP44t12yKQXrPfMQVKEqSHnk5GTN3RCSqNoakAkLCq

Connected chain contracts:

Network Bridge contract addresss
Ethereum Goerli (Bridge) 0x251bBCD91E84098509beaeAfF0B9951859af66D3
Ethereum Goerli (Token) 0xE39f0b145C0aF079B214c5a8840B2B01eA14794c
Solana Tour de Sol 5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg
Terra Tequila-0004 terra18dxnzu8w9dfss3ktetr43p9kuhcjnan8p30puw

A copy of the contract binaries that were deployed can be found in artifacts/, along with a pointer to the Wormhole revision that they were built from.

Guardian set

Current generation: 0, containing only the Certus One bootstrap node with the address 0x8b1c9eFA61eBF66Fa1a6deDCF46fb1e37708ce5c.

See v1.prototext 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 on how to set up a node.

/usr/local/bin/guardiand bridge \
    --bootstrap "/dns4/wormhole-testnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWH3VP44t12yKQXrPfMQVKEqSHnk5GTN3RCSqNoakAkLCq"
    --network "/wormhole/testnet/1" \
    --ethContract "0x251bBCD91E84098509beaeAfF0B9951859af66D3" \
    --solanaBridgeAddress 5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg \ # <-- Solana Bridge address, same as the agent
    --solanaRPC http://solana-host:8899 \                                # <-- Solana RPC URI, same as the agent
    --solanaWS ws://solana-devnet:8900 \                                 # <-- Solana websocket URI, same as the agent
    --nodeName "Certus One" \                                            # <-- your node's name (for network explorer usage)
    --nodeKey /opt/solana/keys/wormhole-node.key \                       # <-- auto-generated node key
    --bridgeKey /opt/solana/keys/wormhole-guardian.key \                 # <-- your guardian key generated by "guardiand keygen"
    --ethRPC wss://ethereum-node.example.com/ws/v3/[...] \               # <-- your ETH full/light node websocket URI
    --adminSocket /run/guardiand/admin.socket \
    --agentRPC /run/guardiand/agent.socket \
    --terra \
    --terraWS wss://terra-node.example.com:26657/websocket \             # <-- Terra node websocket URI
    --terraLCD https://terra-lcd.example.com:1317 \                      # <-- Terra LCD node HTTP URI
    --terraChainID "tequila-0004" \
    --terraContract "terra18dxnzu8w9dfss3ktetr43p9kuhcjnan8p30puw" \
    --terraKey /tmp/terra.key                                            # <-- path to mnemonic key for the Terra transaction fee payer
/usr/local/bin/guardiand-solana-agent \
    --bridge 5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg \
    --rpc http://solana-host:8899 \     # <-- URL of your Solana validator RPC server
    --ws ws://solana-devnet:8900 \      # <-- Websocket path to your Solana validator PubSub port (RPC port +1)
    --keypair /path/to/feepayer.json \  # <-- Keypair of a Solana fee payer account with ~10 SOL in it
    --socket /run/guardiand/agent.socket

There's a key with a couple thousand SOL in this folder - you can use it to transfer 10 SOL to your own fee account. We want to test the fee subsidization logic the same way as on mainnet, so please stick with that range.