Skip to content

Commit

Permalink
Merge branch 'master' into production
Browse files Browse the repository at this point in the history
# Conflicts:
#	packages/docs/pages/users/governance/on-chain-governance.en-US.mdx
  • Loading branch information
EvgenyKhlivetsky committed Feb 24, 2024
2 parents 8ba15a6 + 7e57457 commit d93f2a1
Show file tree
Hide file tree
Showing 108 changed files with 1,035 additions and 357 deletions.
2 changes: 1 addition & 1 deletion packages/docs/pages/integrating-with-namada/sdk.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The Namada software development kit (SDK) can be found in the `namada` repo unde

## Quick Start

A good starting point to see the SDK in use is to check-out the [namada interface](https://github.com/anoma/namada-interface/tree/main/packages/shared/lib/src/sdk) repo. This repo contains a simple web application that uses the SDK to interact with the Namada blockchain. However, it is important to note the added complexity arising from the application integrating javascript using [wasm-bindgen](https://rustwasm.github.io/docs/wasm-bindgen/), which is not necesary.
A good starting point to see the SDK in use is to check-out the [namada interface](https://github.com/anoma/namada-interface/tree/main/packages/shared/lib/src/sdk) repo. This repo contains a simple web application that uses the SDK to interact with the Namada blockchain. However, it is important to note the added complexity arising from the application integrating javascript using [wasm-bindgen](https://rustwasm.github.io/docs/wasm-bindgen/), which is not necessary.

## Installation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ struct MultisigAccount {
}
```

Multisignature accounts, because they are initialised by an on-chain transaction, will always have their public key revealed to the ledger. However, when keypairs are generated in an offline fashion, the user must submit a transaction in order to reveal their public key. Because of this, it is helpful to add the field `revealed` to the account struct.
Multisignature accounts, because they are initialized by an on-chain transaction, will always have their public key revealed to the ledger. However, when keypairs are generated in an offline fashion, the user must submit a transaction in order to reveal their public key. Because of this, it is helpful to add the field `revealed` to the account struct.

```rust
use namada_sdk::core::types::key::common::{PublicKey, SecretKey};
Expand Down
4 changes: 2 additions & 2 deletions packages/docs/pages/introduction.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ Here are some useful tips for reading this book:

- Comments start with `#`:

`# this is a comment make sure you read them!`
`# this is a comment. Make sure you read them!`

- Sample outputs start with an arrow:

`➜ this is an example command line output useful for comparing`

- User-defined inputs are in angle brackets:

`$ this is a command you should run <with your own input>`
`this is a command you should run "<with your own input>"`

## About this documentation

Expand Down
2 changes: 2 additions & 0 deletions packages/docs/pages/introduction/install/binaries.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ latest_release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases
wget "$latest_release_url"
```

Older versions of the binaries are available from Github -- see the [releases page](https://github.com/anoma/namada/releases)

Unzip the `tar` using the following command:
```shell copy
#Assuming the user only has one namada tar file in the current directory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ Finally, you should have GLIBC `v2.33` or higher.

**Ubuntu 22.04**: glibc is installed by default and you don't have to do anything more.

**Ubuntu 18.04 and Ubuntu 22.04**: glibc has `v2.27` and `v2.29` respectively, by default which is lower than the required version to run Namada. We recommend to directly [install from source](../source.mdx) or upgrade to Ubuntu 22.04, instead of updating glibc to the required version, since the latter way can be a messy and tedious task. In case updating glibc would interest you, this [website](http://www.linuxfromscratch.org/lfs/view/9.0-systemd/chapter05/glibc.html) gives you the steps to build the package from source.
**Ubuntu 18.04 and Ubuntu 20.04**: glibc has `v2.27` and `v2.29` respectively, by default which is lower than the required version to run Namada. We recommend to directly [install from source](../source.mdx) or upgrade to Ubuntu 22.04, instead of updating glibc to the required version, since the latter way can be a messy and tedious task. In case updating glibc would interest you, this [website](http://www.linuxfromscratch.org/lfs/view/9.0-systemd/chapter05/glibc.html) gives you the steps to build the package from source.
2 changes: 1 addition & 1 deletion packages/docs/pages/introduction/install/docker.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ For example if you wanted to build the docker image for Namada v0.16.0 and chain

```bash copy
export CHAIN_ID=public-testnet-69.0.b20a1337aa1
export BRANCH=v0.16.0
export BRANCH=v0.28.2 #The latest branch of Namada
```

Then you can build the docker image by running:
Expand Down
6 changes: 3 additions & 3 deletions packages/docs/pages/introduction/install/source.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ import { Callout } from 'nextra-theme-docs'
# Install from source

<Callout type="warning">
Please note that, although installing from source is the recommended route for installing namada, it can prove to be difficult, and is not recommended for beginners. For a first time installation, the installation process can take up to an hour. Building binaries from source can also take a long time, depending on your machine.
Please note that, although installing from source is the recommended route for installing namada, it can prove to be difficult, and is not recommended for beginners. For a first time installation, the installation process can take up to an hour. Building binaries from source can also take a long time, depending on the machine.
</Callout>

## Pre-requisites

Make sure you have the correct [pre-requisites](./source/pre-requisites.mdx) downloaded and installed.
Ensure the correct [pre-requisites](./source/pre-requisites.mdx) have been downloaded and installed.

## Installing Namada
Now that you have all the required dependencies installed, you can clone the source code from the [Namada repository](https://github.com/anoma/namada) and build it with:
Once all the required dependencies have been installed, the next step is to clone the source code from the [Namada repository](https://github.com/anoma/namada) and build it with:

```shell copy
git clone https://github.com/anoma/namada.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Then, install the remaining dependencies.
**Ubuntu:** running the following command should install everything needed:

```shell copy
sudo apt-get install -y make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler
sudo apt-get install -y make git-core libssl-dev pkg-config libclang-12-dev build-essential protobuf-compiler libudev-dev
```

**Mac:** installing the Xcode command line tools should provide you with almost everything you need:
Expand Down
5 changes: 2 additions & 3 deletions packages/docs/pages/introduction/quick-start.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ We recommend this step with [tmux](https://www.hamvocke.com/blog/a-quick-and-eas
tmux

# inside the tmux/or not

namadan ledger run

# can detach the tmux (Ctrl-B then D)
Expand All @@ -47,15 +46,15 @@ This should sync your node to the ledger and will take a while (depending on you
First you will need an implicit account in order to receive tokens. You can generate one with:

```shell copy
namadaw address gen --alias <your-go-to-alias>
namadaw gen --alias <your-go-to-alias>
```

For the remainder of this introduction, let's assume your go-to alias is `stanley`.

This will generate a new account and store it in the default keychain. You can see the account with:

```shell copy
namadaw address list
namadaw list --addr
```

{/* #TODO: ADD some output */}
Expand Down
23 changes: 17 additions & 6 deletions packages/docs/pages/networks/testnets.en-US.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
import { Callout } from 'nextra-theme-docs'

# Namada Testnets

For more context read:

[Announcing Namada Public Testnets](https://blog.namada.net/announcing-namada-public-testnets/)

## Latest Testnet
- Namada public testnet 15:
- From date: 14th of December 2023 17:00 UTC
- Namada protocol version: `v0.28.0`
## Shielded expedition

< Callout type = "info" emoji = "👷" >
For the shielded expedition, it is important to remember to add the `--memo` flag to every transaction. The memo should be filled with the `tpknam` submitted at the shielded-expedition registration period.
For example `namadac transfer --source me --target you --amount 10 --token naan --signing-keys my-key --memo tpknamq1337mypubkey1964qqqqqq`
< /Callout>

The `balances.toml` file is located at `https://github.com/anoma/namada-shielded-expedition`.

- Namada Shielded expedition 2:
- From date: 6th of February 2024 18:00 UTC
- Namada protocol version: `v0.31.6`
- Cometbft version: `0.37.2`
- CHAIN_ID: `tbd`
- CHAIN_ID: `shielded-expedition.88f17d1d14`


The history of all testnets can be found [here](./testnets/testnet-history.mdx).

Expand All @@ -34,7 +45,7 @@ If you find a bug, please submit an issue with the `bug` [issue template](https:
## Testnet flowchart
![testnet_flowchart](/images/testnet_flowchart.png)

The Namada public testnet is permissionless, anyone can join without the authorisation of a centralised party. Expect frequent upgrades (every two weeks).
The Namada public testnet is permissionless, anyone can join without the authorisation of a centralized party. Expect frequent upgrades (every two weeks).

## Block explorer

Expand Down
22 changes: 11 additions & 11 deletions packages/docs/pages/networks/testnets/environment-setup.en-US.mdx
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import {Steps} from 'nextra-theme-docs'
import { Steps } from 'nextra-theme-docs'
import { Callout } from 'nextra-theme-docs'

# Environment setup

<Callout type="info">
< Callout type = "info" >
If you don't want to build Namada from source you can [install Namada from binaries](../../introduction/install/binaries.mdx).
Note that building from source can be a difficult process and is not recommended for beginners.
</Callout>
< /Callout>

Export the following variables:

```bash copy
export NAMADA_TAG=v0.23.1
export NAMADA_TAG=v0.31.6
```


## Installing Namada
<Steps>
< Steps >
### Install all pre-requisites
- [Rust](https://www.rust-lang.org/tools/install)
- [CometBFT](../../introduction/installing-cometbft.mdx)
Expand All @@ -37,17 +37,17 @@ sudo apt-get update -y
sudo apt-get install build-essential make pkg-config libssl-dev libclang-dev -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
</Steps>
< /Steps>
## Installing CometBFT
<Steps>
< Steps >
### See the installing CometBFT section [here](../../introduction/installing-cometbft.mdx) for instructions on how to install CometBFT.
### Copy both the namada and CometBFT binaries to somewhere on $PATH (or use the relative paths). This step may or may not be necessary.

- namada binaries can be found in `/target/release`
- CometBFT is likely in `$HOME/Downloads/cometbft`
</Steps>
< /Steps>
## Check ports
<Steps>
< Steps >
### Open ports on your machine:
- 26656
- 26657
Expand All @@ -66,6 +66,6 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Make sure you are using the correct CometBFT version
- `cometbft version` should output `0.37.2`
- Make sure you are using the correct Namada version
- `namada --version` should output `Namada v0.23.1`
- `namada --version` should output `Namada v0.31.6`

</Steps>
< /Steps>
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ Before a testnet launches, you can apply to be a genesis validator.

### Set up

Follow [this guide](../../operators/validators/validator-setup.mdx#pre-genesis) on how to generate your "pre-genesis" validator files.
Follow [this guide](../../operators/validators/validator-setup.mdx#pre-genesis) on how to generate "pre-genesis" validator files.

<Callout>
All pre-genesis validators are expected to bond `1000000` NAM tokens. At least that many tokens will be allocated to the pre-genesis validator key
For the shielded expedition, the `balances.toml` file has been published at the [namada-shieled-expedition repository](https://github.com/anoma/namada-shielded-expedition).
Amounts bonded in the bonding transactions must be less than or equal to the amounts specified in the `balances.toml` file.
It is recommended to leave at least 1000 `NAAN` unbonded for transaction fees.
</Callout>

After this, you'll have a signed `transactions.toml` file, the contents of which will look something like the following:
After this, you will have a signed `transactions.toml` file, the contents of which will look something like the following:

```toml
[[established_account]]
Expand Down Expand Up @@ -66,7 +68,12 @@ This file contains only public information and is safe to share publicly.


### Submitting the config
If you want to be a genesis validator for the testnet, please make a pull request to https://github.com/anoma/namada-testnets adding your signed `transactions.toml` file to the relevant directory (e.g. `namada-public-testnet-2` for the second public testnet), renaming it to `$alias.toml`.

<Callout>
For the shielded expedition, use the repository `https://github.com/anoma/namada-shielded-expedition` instead of `https://github.com/anoma/namda-testnets`.
</Callout>

If you want to be a genesis validator for the testnet, please make a pull request to `https://github.com/anoma/namada-testnets` (`https://github.com/anoma/namada-shielded-expedition` for the Shielded expedition) adding your **signed** `transactions.toml` file to the relevant directory (e.g. `namada-public-testnet-2` for the second public testnet), renaming it to `"<your-alias>"".toml`.
E.g. if you chose your alias to be "bertha", submit the file with the name `bertha.toml`. You can see what an example PR looks like [here](https://github.com/anoma/namada-testnets/pull/2616).

### Wait for the `CHAIN_ID`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,47 @@
import { Callout } from 'nextra-theme-docs'

# Joining the latest testnet

Depending on whether you are a genesis validator, you can join the latest testnet either as a genesis validator or as a full node.

## Joining as a genesis validator
Joining the testnet validator is identical to that of a mainnet validator.

For this reason, please refer to [these docs](../../operators/validators/validator-setup.mdx#start-validating).
In order to join the network as a genesis validator, you will need to have been selected in the genesis ceremony. If you have not been selected, you can still join as a full node.

<Callout>
For the shielded expedition, only the top 114 pilots have been selected as genesis validators. If you were not selected, you can still bond to one of the genesis validators or become a post-genesis validator.
</Callout>

If you have been selected. You must run the following command:

```bash
CHAIN_ID="<chain-id>"
VALIDATOR_ALIAS="<your-validator-alias>"
NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-shielded-expedition/releases/download/shielded-expedition.88f17d1d14" namadac utils join-network --chain-id $CHAIN_ID --genesis-validator $VALIDATOR_ALIAS
```

<Callout>
Note that if you use the above command, your pre-genesis wallet must be in the default base directory (`$BASE_DIR`). If the wallet is not in the default base directory, you must use the flag `--pre-genesis-path` instead. The value for this will be `$BASE_DIR/pre-genesis/$VALIDATOR_ALIAS`.

E.g if your base directory is `.namada` and your validator alias is `my-validator`, then run the command

```bash
CHAIN_ID="<chain-id>"
VALIDATOR_ALIAS="my-validator"
BASE_DIR=".namada"
NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-shielded-expedition/releases/download/shielded-expedition.88f17d1d14" namadac utils join-network --chain-id $CHAIN_ID --pre-genesis-path $BASE_DIR/pre-genesis/$VALIDATOR_ALIAS
```
</Callout>

Running the node of a pre-genesis validator is identical to that of a mainnet validator.

For this reason, please refer to [these docs](../../operators/validators/validator-setup.mdx#start-validating) for running the node.

## Submitting bonding transactions as a non-genesis validator
If your public key has been allocated `NAM` (`NAAN` for the shielded expedition), you can bond to a genesis validator as a pre-genesis transaction.
Please follw the steps [here](../../operators/networks/genesis-flow/participants.mdx#bond-to-a-pre-genesis-validator-account) in order to submit these transactions.

Remember to sign these transactions as well.

## Joining as a full node
If you are not a genesis validator, please follow the steps for [joining as a full node](../../operators/ledger/running-a-full-node.mdx).
Expand Down
26 changes: 21 additions & 5 deletions packages/docs/pages/networks/testnets/testnet-history.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,31 @@ This page covers all installation steps required by various upgrades to testnets

## Latest Upgrade

No upgrades are currently scheduled.
## Namada shielded expedition 2 `v0.31.6` upgrade

In order to upgrade to the latest version of the Namada protocol, please follow the steps from [this hackmd](https://hackmd.io/EBTtfPiZT7yoRjxYRcbiPQ)

## Shielded expedition

- Namada Shielded expedition 2:
- From date: 6th of February 2024 18:00 UTC
- Namada protocol version: `v0.31.6`
- Cometbft version: `0.37.2`
- CHAIN_ID: `shielded-expedition.88f17d1d14`

- Namada Shielded expedition 1 (offline):
- From date: 1st of February 2024 18:00 UTC
- Namada protocol version: `v0.31.0`
- Cometbft version: `0.37.2`
- CHAIN_ID: `shielded-expedition.3d767ac5d5`

## Latest Testnet

- Namada public testnet 15:
- From date: 14th of December 2023 17:00 UTC
- Namada protocol version: `v0.28.0`
- Namada public testnet 15 (offline):
- From date: 18th of December 2023 17:00 UTC
- Namada protocol version: `v0.28.1`
- Cometbft version: `0.37.2`
- CHAIN_ID: `tbd`
- CHAIN_ID: `public-testnet-15.0dacadb8d663`


## Testnet History Timeline
Expand Down
1 change: 1 addition & 0 deletions packages/docs/pages/operators/_meta.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"hardware": "Hardware requirements",
"ledger": "Running a full node",
"remote-signing": "Remote signing",
"validators": "Validators",
"networks": "Starting a network",
"ibc": "IBC Relayers",
Expand Down
2 changes: 1 addition & 1 deletion packages/docs/pages/operators/eth-bridge.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The bridge is a combination of smart contracts on Ethereum as well as ledger pro

## Design

The full design specs can be found [here](https://specs.namada.net/interoperability/ethereum-bridge).
The full design specs can be found [here](https://specs.namada.net/modules/ethereum-bridge).

A short outline of the design is outlined below.

Expand Down
10 changes: 5 additions & 5 deletions packages/docs/pages/operators/ibc.en-US.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Below, we discuss first how to enable this connection between two pre-existing c

## Configure Hermes
Hermes is an IBC relayer to relay IBC packets between chains.
Namada uses a [fork of Hermes supporting Namada chains](https://github.com/heliaxdev/hermes/tree/v1.7.1-namada-beta4).
Namada uses a [fork of Hermes supporting Namada chains](https://github.com/heliaxdev/hermes/tree/v1.7.4-namada-beta7).

### Make Hermes config file
One essential piece of the puzzle is to create a `config.toml` file that describes what connections will be set up that the relayer will be responsible for.
Expand Down Expand Up @@ -123,7 +123,7 @@ One can download the latest binary release from our [releases page](https://gith

E.g.
```bash copy
export TAG="v1.7.1-namada-beta4"
export TAG="v1.7.4-namada-beta7"
export ARCH="x86_64-unknown-linux-gnu" # or "aarch64-apple-darwin"
curl -Lo /tmp/hermes.tar.gz https://github.com/heliaxdev/hermes/releases/download/${TAG}/hermes-${TAG}-${ARCH}.tar.gz
tar -xvzf /tmp/hermes.tar.gz -C /usr/local/bin
Expand All @@ -140,7 +140,7 @@ This is also true for the command `cp ./target/release/hermes /usr/local/bin/` b

### From source
```bash copy
export TAG="v1.7.1-namada-beta4"
export TAG="v1.7.4-namada-beta7"

git clone https://github.com/heliaxdev/hermes.git
git checkout $TAG
Expand All @@ -166,7 +166,7 @@ cp ./target/release/hermes /usr/local/bin/
### Create the relayer account
On each chain, there must be a `relayer` account. The alias should be the same as `chains.key_name` in the config. On a namada chain, this can be done by running
```bash copy
namadaw key gen --alias relayer
namadaw gen --alias relayer
```

This will generate a key for the relayer account. The key will be stored in the `wallet.toml` that is found in the [base directory](./ledger/base-directory.mdx) of the node, inside the `chain-id` folder. For example, if the `chain-id` is `namada-test.0a4c6786dbda39f786`, the `wallet.toml` will be found in `$HOME/.local/share/namada/namada-test.0a4c6786dbda39f786/wallet.toml` (on a ubuntu machine where `base-dir` has not been set up properly).
Expand Down Expand Up @@ -293,7 +293,7 @@ First, you will need to export some environment variables:

```bash copy
export NAMADA_DIR="<path-to-namada-source-directory>"
export TAG="v1.7.1-namada-beta4"
export TAG="v1.7.4-namada-beta7"
```

```bash copy
Expand Down
Loading

0 comments on commit d93f2a1

Please sign in to comment.