|
| 1 | +# Testnet |
| 2 | + |
| 3 | +There's a long-running testnet chain available, intended for developers |
| 4 | +to test code and practice integrating their software with the Penumbra stack. |
| 5 | + |
| 6 | +## Services available |
| 7 | + |
| 8 | +The following public services are available: |
| 9 | + |
| 10 | +| URL | Service | |
| 11 | +| --- | --- | |
| 12 | +| https://testnet.plinfra.net | primary `pd` gRPC endpoint, running most recently released stable tag from the [protocol repo] | |
| 13 | +| https://testnet-preview.plinfra.net | secondary `pd` gRPC endpoint, running the most recent commit on the `main` branch in the [protocol repo] | |
| 14 | +| https://dex-explorer.testnet.plinfra.net | a [DEX explorer](https://github.com/penumbra-zone/dex-explorer) instance, showing testnet market activity | |
| 15 | +| https://cuiloa.testnet.plinfra.net | a block explorer, based on [cuiloa](https://github.com/penumbra-zone/cuiloa) | |
| 16 | + |
| 17 | +## Joining the testnet |
| 18 | + |
| 19 | +You can run a node on the public testnet like so: |
| 20 | + |
| 21 | +```shell |
| 22 | +# clean up any pre-existing network state |
| 23 | +cargo run --release --bin pd -- network unsafe-reset-all |
| 24 | +# generate network configs for the testnet chain |
| 25 | +cargo run --release --bin pd -- network join http://testnet.plinfra.net:26657 |
| 26 | +``` |
| 27 | + |
| 28 | +After that, if you've set up the [Penumbra developer environment](./dev-env.md), |
| 29 | +you can run a fullnode locally via: |
| 30 | + |
| 31 | +```shell |
| 32 | +just dev |
| 33 | +``` |
| 34 | + |
| 35 | +For a more persistent setup, consult the [tutorial on running a node](../node/pd/running-node.md). |
| 36 | + |
| 37 | +## Running `pcli` |
| 38 | + |
| 39 | +To interact with the chain, configure a wallet pointing at the testnet node: |
| 40 | + |
| 41 | +```shell |
| 42 | +cargo run --release --bin pcli -- --home ~/.local/share/pcli-testnet view reset |
| 43 | +cargo run --release --bin pcli -- init --grpc-url https://testnet.plinfra.net soft-kms generate |
| 44 | +# or, to reuse an existing seed phrase: |
| 45 | +cargo run --release --bin pcli -- init --grpc-url https://testnet.plinfra.net soft-kms import-phrase |
| 46 | +``` |
| 47 | + |
| 48 | +and then pass the `--home` flag to any commands you run to point `pcli` at your local node, e.g., |
| 49 | + |
| 50 | +```shell |
| 51 | +cargo run --release --bin pcli -- --home ~/.local/share/pcli-testnet view balance |
| 52 | +``` |
| 53 | + |
| 54 | +You'll be able to run queries like `pcli query validator list`, but by default you won't be able |
| 55 | +to create transactions, as an empty wallet will lack funds to pay gas fees. |
| 56 | + |
| 57 | + |
| 58 | +## Using the testnet faucet |
| 59 | + |
| 60 | +There's currently no faucet running for the Penumbra testnet chain, but check back soon for details. |
| 61 | + |
| 62 | +<!-- |
| 63 | +TODO: |
| 64 | +There's no instance of Galileo running yet, but there could be. |
| 65 | +
|
| 66 | +To obtain funds for your testnet wallet, first gather the address: |
| 67 | +
|
| 68 | +```shell |
| 69 | +cargo run --release --bin pcli -- --home ~/.local/share/pcli-testnet view address |
| 70 | +``` |
| 71 | +
|
| 72 | +Then visit the `#testnet-faucet` channel in the project Discord, and paste your address. |
| 73 | +A bot will send a small amount of funds to your address, which should be visible within a few minutes, via: |
| 74 | +
|
| 75 | +```shell |
| 76 | +cargo run --release --bin pcli -- --home ~/.local/share/pcli-testnet view balance |
| 77 | +``` |
| 78 | +--> |
| 79 | + |
| 80 | +[protocol repo]: https://github.com/penumbra-zone/penumbra |
0 commit comments