Skip to content

chore(docs): update docs for testnet 10 #4591

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Code from '#/components/Code.astro'
import DownloadFile from "#/components/DownloadFile.astro"
import { Tabs, TabItem } from "@astrojs/starlight/components"
import FunctionResult from '#/components/FunctionResult.astro'
import { chainVersion, getSeedsParts } from '#/lib/constants/versions.ts'
import { chainVersion } from '#/lib/constants/versions.ts'

This guide is intended for validators running on bare-metal servers and explains how Union releases work. Check out the [NixOS](/infrastructure/node-operators/nixos/) and the [Kubernetes](/infrastructure/node-operators/kubernetes/) guide for more production-ready deployments.

Expand Down Expand Up @@ -38,14 +38,14 @@ Double-check the version and architecture in the link before downloading.
```sh frame="none"
curl --output uniond --location https://github.com/unionlabs/union/releases/download/$UNIOND_VERSION/uniond-release-x86_64-linux
```
*Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />*
*Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />*

</TabItem>
<TabItem label='aarch64-linux'>
```sh frame='none'
curl --output uniond --location https://github.com/unionlabs/union/releases/download/$UNIOND_VERSION/uniond-release-aarch64-linux
```
*Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />*
*Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />*

</TabItem>
</Tabs>
Expand All @@ -70,7 +70,7 @@ We also provide containers in our [package registry](https://github.com/orgs/uni
docker pull ghcr.io/unionlabs/uniond-release:$UNIOND_VERSION
```

_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />_
_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />_

When running the container, make sure to map a volume to the path passed in `--home` options to ensure data persistence. From here on the guide assumes the usage of a regular binary. The [docker-compose](/infrastructure/node-operators/docker-compose/) section is more suited for docker users.

Expand All @@ -87,7 +87,7 @@ We'll need to set up a few configuration files and obtain the <DownloadFile file
First, set some environment variables, which are used throughout initialization.

```sh title="env.sh"
export CHAIN_ID=union-testnet-9
export CHAIN_ID=union-testnet-10
export MONIKER="Unionized Goblin"
export KEY_NAME=alice
export GENESIS_URL="https://union.build/genesis.json"
Expand All @@ -99,18 +99,6 @@ Then we'll have `uniond` initialize our data and configuration directories. By d
uniond init $MONIKER --chain-id $CHAIN_ID
```

### Seeds

Next, edit `~/.union/config/config.toml`. We'll set the seeds to ensure your node can connect to the peer-to-peer network.

For `union-testnet-9` replace `seeds = ""` with:

<Code
lang='toml'
code={`seeds = "${chainVersion({ chainId: 'union-testnet-9' }).seeds}"`}
/>


### Genesis Configuration

Download the `genesis.json` and copy it to your `uniond` home directory.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Located in `config/client.toml`, this file is host to client settings.

Update this value to ensure that your client is supplied with the correct chain ID.

For the Union Testnet, this value should be `"union-testnet-9"`.
For the Union Testnet, this value should be `"union-testnet-10"`.

```toml
# The network chain ID
chain-id = "union-testnet-9"
chain-id = "union-testnet-10"
```

### Host/Port for the Tendermint RPC
Expand All @@ -47,7 +47,7 @@ Located in `config/app.toml`, this file is host to app settings.

Located under the "Base Configuration" section of `config/app.toml`.

While optional, you may wish to ensure your node receives a minimum fee when processing transactions. Whatever you choose for this value, ensure it uses the correct denom. For the Union Testnet, the correct denom is `muno`.
The [skip-mev/feemarket](https://github.com/skip-mev/feemarket/) module sets a global gas price/fee. To ensure consistency with the rest of the network, set this to `"0muno"`.

```toml
# The minimum gas prices a validator is willing to accept for processing a
Expand Down Expand Up @@ -96,7 +96,7 @@ timeout_precommit_delta = "500ms"
# How long we wait after committing a block, before starting on the new
# height (this gives us a chance to receive some more precommits, even
# though we already have +2/3).
timeout_commit = "3s"
timeout_commit = "5s"
```

### RPC Listening Address
Expand Down Expand Up @@ -140,18 +140,6 @@ If you've configured a domain name for your node, this is the place to inform yo
external_address = "example.com:26656"
```

### Seeds

Located in the `p2p` TOML table under the "P2P Configuration Options" section.

Seed nodes help orchestrate initial connections to the network. For union-testnet-9, the seed nodes are:

<Code
lang='toml'
code={`seeds = "${chainVersion({ chainId: 'union-testnet-9' }).seeds}"`}
/>


### Seed Mode

Located in the `p2p` TOML table under the "P2P Configuration Options" section.
Expand Down
38 changes: 6 additions & 32 deletions docs/src/content/docs/joining-testnet/creating-validators.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,40 +65,14 @@ Replacing:
- `<MONIKER>` with your moniker
- And the optional content with your preferred details

### 2) Create a Proof of Possession

:::note

This step is currently specific to the Union network, other Cosmos based chains do not currently replicate this process.

:::

Assuming your private validator key is in the default location:

<Tabs>
<TabItem label='uniond-release'>
```sh frame="none"
export PRIV_KEY=$(jq -r '.priv_key.value' ~/.union/config/priv_validator_key.json)
export POSSESSION_PROOF=$(uniond prove-possession "$PRIV_KEY")
```
</TabItem>
<TabItem label='Unionvisor'>
```sh frame="none"
export PRIV_KEY=$(jq -r '.priv_key.value' ~/.unionvisor/home/config/priv_validator_key.json)
export POSSESSION_PROOF=$(uniond prove-possession "$PRIV_KEY")
```
</TabItem>
</Tabs>


### 3) Run the Create Validator Command
### 2) Run the Create Validator Command

Then you can submit this file using the `create-union-validator` sub-command:

```sh frame="none"
uniond union-staking create-union-validator $VALIDATOR_JSON_PATH $POSSESSION_PROOF \
--from $KEY_NAME \
--chain-id union-testnet-9
uniond tx poa create-validator path/to/validator.json \
--from $KEY_NAME \
--chain-id union-testnet-10
```

_Where `VALIDATOR_JSON_PATH` is the path to your `validator.json`_
Expand All @@ -116,9 +90,9 @@ touch ~/.unionvisor/validator.json

# Then after editing the json content

uniond union-staking create-union-validator /.unionvisor/validator.json $POSSESSION_PROOF \
uniond tx poa create-validator /.unionvisor/validator.json \
--from $KEY_NAME \
--chain-id union-testnet-9
--chain-id union-testnet-10
```

:::
Expand Down
8 changes: 3 additions & 5 deletions docs/src/content/docs/joining-testnet/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,21 @@ As we continue onboarding validators and expanding the testnet, we'll populate t

### How can I become a validator?

We started our testnet with the goal of onboarding 64 validators. The sign-up form for these first 64 slots has been closed.

We have now expanded the Union testnet to support 128 validators. Those interested can submit their Union address to the Subo Survey Bot on [our Discord](https://discord.gg/union-build) to have a chance of being selected as a validator and receiving tokens from the Union team. The Subo "Union Testnet Validator Intake Form" closed on February 19th, 2024.
The Union testnet is fully permissioned. We are not actively seeking new validators at this time.

### Why can't I submit transactions to `localhost` when using `docker run`?

Ensure you have exposed your host machine's network via the `--network` flag in docker.

### My query commands aren't using values from my client config?
### My query commands aren't using values from my client config? (uniond v0.25.0 and lower)

Due to [an issue in the cosmos-sdk](https://github.com/cosmos/cosmos-sdk/issues/18868), commands using AutoCLI do not respect the `--home` flag and instead always try and read the default home. As a temporary fix, we've removed the behavior reading the default home, always require a `--home` flag, and moved all `tx` commands away from AutoCLI. However, `query` commands still use AutoCLI and won't read the `--home` flag.

To get around this behavior, we suggest always supplying `--node` and `--chain-id` when using query commands.

### Can I have access to the Union GitHub repository?

We are not currently providing the general public access to our GitHub repositories.
You can find the Union monorepo at [unionlabs/union](https://github.com/unionlabs/union/)

### Other questions?

Expand Down
18 changes: 7 additions & 11 deletions docs/src/content/docs/joining-testnet/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ sidebar:
order: 0
---

Welcome to the Union Testnet! This guide will instruct you on running a node and creating a validator for `union-testnet-9`.
Welcome to the Union Testnet! This guide will instruct you on running a node and creating a validator for `union-testnet-10`.

:::note
Currently, `union-testnet-10` has a fully permissioned validator set that is managed via the [strangelove-ventures/poa](https://github.com/strangelove-ventures/poa/) module.
:::

## Steps

These are the general steps for running a node and creating a validator for the Union testnet.

### Acquiring a Machine
### Hardware Requirements

You may run the Union node on your own machine or a VPS, please ensure your machine or VPS meets our [node operator requirements](/infrastructure/node-operators/requirements/).

Expand All @@ -30,15 +34,7 @@ For more manual control, we also release each version of `uniond` as a Docker im

### Getting Testnet Tokens

Visit the Testnet Faucet to receive tokens to experiment with the Union Testnet.

If you've been selected as a testnet validator and do not already have a token balance, please reach out in [our Discord](https://discord.union.build)

:::note

The faucet linked to the Union Testnet token transfer demo is not intended as a source of tokens for validators. The faucet exists only to allow users to experiment with the demo.

:::
Tokens will be distributed by the Union team to those that need them to create their validator or conduct testing.

### Creating a Validator

Expand Down
8 changes: 0 additions & 8 deletions docs/src/content/docs/joining-testnet/getting-tokens.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,6 @@ Take note of your `address` here and continue to [Receiving Testnet Tokens](#rec

## Receiving Testnet Tokens

Those interested can submit their Union address to the Subo Survey Bot on [our Discord](https://discord.union.build) to have a chance of being selected as a validator and receiving tokens from the Union team.

:::note

The Subo "Union Testnet Validator Intake Form" is set to close on February 19th, 2024.

:::

### Finding your Union Address

To ensure your account will have an UNO balance, please submit the address from your newly created or recovered account.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/joining-testnet/obtaining-uniond.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To get the `uniond` image, you can visit [our container](https://github.com/orgs
docker pull ghcr.io/unionlabs/uniond-release:$UNIOND_VERSION
```

_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />_
_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />_

## Running uniond

Expand Down Expand Up @@ -94,7 +94,7 @@ For example, in `zsh`, you can add the following alias to your `.zshrc`:
alias uniond='docker run -v ~/.union:/.union -v /tmp:/tmp --network host -it ghcr.io/unionlabs/uniond-release:$UNIOND_VERSION --home /.union'
```

_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />_
_Where `UNIOND_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />_

This will enable you to issue `uniond` sub-commands with such as `uniond keys add` with ease.

Expand Down
22 changes: 11 additions & 11 deletions docs/src/content/docs/joining-testnet/unionvisor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ Unionvisor is a utility for managing `uniond` deployments. It manages running, u

## Obtaining Unionvisor

We release container images of Unionvisor called bundles. Each bundle contains everything required for running Unionvisor and joining a particular network. The Unionvisor bundle for `union-testnet-9` is `bundle-testnet-9`. You can obtain the Unionvisor bundle for `union-testnet-9` from our [GitHub Container Registry](https://github.com/orgs/unionlabs/packages/container/package/bundle-testnet-9).
We release container images of Unionvisor called bundles. Each bundle contains everything required for running Unionvisor and joining a particular network. The Unionvisor bundle for `union-testnet-10` is `bundle-testnet-10`. You can obtain the Unionvisor bundle for `union-testnet-10` from our [GitHub Container Registry](https://github.com/orgs/unionlabs/packages/container/package/bundle-testnet-10).

Alternatively, you can run the following command:

```sh frame="none"
docker pull ghcr.io/unionlabs/bundle-testnet-9:$UNIONVISOR_VERSION
docker pull ghcr.io/unionlabs/bundle-testnet-10:$UNIONVISOR_VERSION
```

_Where `UNIONVISOR_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />_
_Where `UNIONVISOR_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />_

## Running Unionvisor

Expand Down Expand Up @@ -54,10 +54,10 @@ To do this, we'll be using Docker volumes.
docker run \\
--volume ~/.unionvisor:/.unionvisor \\
--volume /tmp:/tmp \\
-it ghcr.io/unionlabs/bundle-testnet-9:$UNIONVISOR_VERSION \\
-it ghcr.io/unionlabs/bundle-testnet-10:$UNIONVISOR_VERSION \\
init --moniker $MONIKER \\
--network union-testnet-9 \\
--seeds "${chainVersion({chainId: 'union-testnet-9'}).seeds}"
--network union-testnet-10 \\
--seeds "${chainVersion({chainId: 'union-testnet-10'}).seeds}"
`)}
/>
_Where `MONIKER` is the preferred moniker you'd like to use on this node._
Expand Down Expand Up @@ -86,7 +86,7 @@ After the above command is done running, you should have a `.unionvisor` folder
- data
- priv_validator_state.json
- versions
- <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />- uniond
- <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />- uniond

</FileTree>

Expand Down Expand Up @@ -122,7 +122,7 @@ You can use the `set-uniond-version` command as follows:
docker run \
--volume ~/.unionvisor:/.unionvisor \
--volume /tmp:/tmp \
-it ghcr.io/unionlabs/bundle-testnet-9:$UNIONVISOR_VERSION \
-it ghcr.io/unionlabs/bundle-testnet-10:$UNIONVISOR_VERSION \
set-uniond-version $UNIOND_VERSION
```
*Where `UNIOND_VERSION` is the version of `uniond` used when the snapshot was generated*
Expand All @@ -135,10 +135,10 @@ To run `uniond` sub-commands, it will be useful to alias the Docker command in y
For example, in `zsh`, you can add the following alias to your `.zshrc`:

```sh frame="none"
alias uniond='docker run -v ~/.unionvisor:/.unionvisor -v /tmp:/tmp --network host -it ghcr.io/unionlabs/bundle-testnet-9:$UNIONVISOR_VERSION --log-level off call --'
alias uniond='docker run -v ~/.unionvisor:/.unionvisor -v /tmp:/tmp --network host -it ghcr.io/unionlabs/bundle-testnet-10:$UNIONVISOR_VERSION --log-level off call --'
```

_Where `UNIONVISOR_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-9'}).current} />_
_Where `UNIONVISOR_VERSION` is <FunctionResult result={chainVersion({chainId: 'union-testnet-10'}).current} />_

:::note

Expand All @@ -158,7 +158,7 @@ A minimal Docker Compose file for Unionvisor looks like this:
```yaml
services:
node:
image: ghcr.io/unionlabs/bundle-testnet-9:$UNIONVISOR_VERSION
image: ghcr.io/unionlabs/bundle-testnet-10:$UNIONVISOR_VERSION
volumes:
- ~/.unionvisor:/.unionvisor
- /tmp:/tmp
Expand Down
6 changes: 6 additions & 0 deletions docs/src/content/docs/joining-testnet/upgrade-history.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@ import { Badge } from "@astrojs/starlight/components";

Here you can find records of Union network binary upgrades.

## union-testnet-10

The network `union-testnet-10` has had no binary upgrades since its genesis.

## union-testnet-9

<Badge text="Deprecated" variant="caution" />

The network `union-testnet-9` has had no binary upgrades since its genesis.

| Upgrade | Height |
Expand Down
5 changes: 5 additions & 0 deletions versions/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"versions": ["v1.0.0"],
"current": "v1.0.0",
"seeds": ""
},
"union-testnet-10": {
"versions": ["v1.0.0"],
"current": "v1.0.0",
"seeds": ""
}
}