or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Namada Mainnet Pre-genesis Instructions
Reference:
There will be a decentralized pre-genesis process in preparation for mainnet. The purpose of this process will be to generate a genesis state for the chain, including the initial validator set and initial stake distribution. At the end of the process, a set of genesis files will be proposed. Should genesis validators comprising > 2/3 of voting power go ahead with launching the chain from the proposed genesis files, it will signal social consensus of approval of the initial state.
Overview:
balances.toml
containing genesis account balances published by the Anoma Foundationtransactions.toml
file. (This defines the initial validator set/stake distribution).Prerequisites
v0.43.0
binaries (link). Important: when running your node, make sure you have upgraded your CometBFT version tov0.37.9
instead of thev0.37.2
which was used with earlier Namada versions.balances.toml
file from here. You will need this to see your genesis token allocation, so that you know how much you have available to bond. Note: the final version of the balances.toml file was published Sept 9, 2024. To make merging your PR as smooth as possible, please check that you're using the latest version.Pre-genesis process
Collecting pre-genesis transactions happens in two stages: Stage 1 (initialize-validator) and Stage 2 (bond).
Find the scenario below that describes your situation:
Scenario 1:
My address is in balances.toml. I don't intend to create a pre-genesis validator or a pre-genesis bond
No further action required. Once the chain has launched, you can import your key into your wallet from the mnemonic or private key and access your funds.
Scenario 2:
My address is in balances.toml. I don't intend to create a pre-genesis validator, but do want to make a pre-genesis bond
Summary:
Scenario 3:
My address is in balances.toml and I will use it to initialize a validator
Summary:
Scenario 4:
I want to initialize a validator from a new address
This is the same as Scenario 3, except you will be creating a new keypair to initialize your validator from instead of using an existing one.
Detailed Instructions
Add existing or new keys to your wallet
Before generating your pre-genesis transaction(s), you'll need to have your keys loaded into your wallet. You can either import existing keys (e.g. your shielded-expedition keys) or create a new pair.
Your pre-genesis wallet is located in
~/.local/share/namada/pre-genesis/wallet.toml
by default.To import an existing keypair:
Or, to create a new keypair:
(Remember to save the mnemonic!)
You can use this command to display your public key/address:
Initialize a pre-genesis validator
Add the keys you will use to initialize your validator to your wallet as described above. You can either import existing keys (e.g. your shielded-expedition keys) or create a new pair.
Next, generate an established account toml file, providing the alias of your keys:
You will see a message similar to:
You will have generated a file
~/.local/share/namada/pre-genesis/transactions.toml
. Its contents should look similar to this:--path
should point to thetransactions.toml
created in the previous step. The--address
should be the established account address generated in the previous step (starts withtnam
). The--self-bond-amount
should be1
(the value given here doesn't matter since we'll be removing it in the next step).A couple notes on the above:
email
is mandatory butdiscord-handle
,avatar
,website
,description
andname
are optionalalias
refers to the alias in your local wallet, not your validator's name on-chain (that's set byname
)net-address
is a mandatory argument for the command, but if you don't know your IP address yet you can use a placeholder like1.2.3.4:26656
self-bond-amount
are mandatoryAfterwards, you will see a message similar to:
This will append the validator data to your transaction file
~/.local/share/namada/pre-genesis/transactions.toml
. Its contents should now look similar to the following:transactions.toml
file and remove this section:and then save the file.
This will generate a (final) signed toml file named
transactions-signed.toml
. This is the file we will be submitting.{your github username}-validator.toml
and follow the steps in the section Submit a PR with your toml files below when submitting your toml file(s).Create a pre-genesis bond
Notes:
transactions-signed.toml
you generated for your validator, if using the same filenames. Make a backup copy before proceeding.To create a bond, your address must have a genesis balance allocated to it in the
balances.toml
file.Load your existing keys with genesis balance into your pre-genesis wallet from the mnemonic or private key.
Generate a bond transaction. The
--amount
must be less than your allocation inbalances.toml
(and save at least a few NAM unbonded for gas costs).This will generate a
transactions.toml
file with contents similar to the following:This will generate a (final) signed toml file named
transactions-signed.toml
. This is the file we will be submitting.Submit a PR with your toml files
Please adhere to the following conventions when submitting your toml file(s). The CI scripts which check the validity of submissions expects them to be in a specific format; otherwise your PR may be rejected.
{your github username}-validator.toml
.{your github username}-bond.toml
.You can submit both in a single PR.Edit: Please submit only the 'validator' toml in stage 1, and wait until stage 2 to submit the 'bond' toml./transactions
directory.Add {your github username} pre-genesis transactions
.Pre-genesis stake distribution chart
As PRs for pre-genesis init-validator and bond txs are merged, the CI scripts will update the chart in the genesis repo with the current stake distribution. This can be helpful when deciding who to stake your tokens with.
Using a Ledger Hardware Wallet
You can sign your
init-validator
andbond
transactions using a Ledger.Important
The app on the official Ledger app store is not current and will not work. You must sideload the in-development version
0.0.27
or newer. You need a Ledger Nano or Nano S device.For instructions on how to sideload the app, and how to use it to sign your pre-genesis transactions, see: