Difference between revisions of "How-To: Create an NNS motion proposal"
From Internet Computer Wiki
Diego.prats (talk | contribs) |
Diego.prats (talk | contribs) |
||
Line 32: | Line 32: | ||
1.2 Create <code>seed phrase</code>: | 1.2 Create <code>seed phrase</code>: | ||
− | < | + | <pre> |
$ keysmith generate -o seed.txt | $ keysmith generate -o seed.txt | ||
− | </ | + | </pre> |
1.3 Create <code>private.pem</code> | 1.3 Create <code>private.pem</code> | ||
− | < | + | <pre> |
$ keysmith <private-key -o <private.pem | $ keysmith <private-key -o <private.pem | ||
− | </ | + | </pre> |
1.4 Derive Ledger account from private key: | 1.4 Derive Ledger account from private key: | ||
− | < | + | <pre> |
$ keysmith account -i 0 | $ keysmith account -i 0 | ||
− | </ | + | </pre> |
====2. Link this private/public keypair to `dfx` so you can use it as an "Identity"==== | ====2. Link this private/public keypair to `dfx` so you can use it as an "Identity"==== |
Revision as of 22:18, 31 January 2022
This article explains one way to submit NNS motion proposals.
Background
To properly follow what is going on, there are a few high-level points worth highlighting:
Only Neurons can submit NNS proposals
Neurons with at least 1 ICP and 6 months of dissolve delay can submit NNS proposals. So the first step is to create such a neuron.
The NNS Governance Canister accepts motion proposals
The Governance Canister is just a canister like any other, so it has a Candid file, it accepts messages, etc... This article describes a way where you can have your local computer send a message to the governance canister (signed on behalf of a neuron) that contains a motion proposal.
One-time setup
Install dfx
1. Navigate to | smartcontracts.org 2. Install `dfx` via
$ sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"
Create a neuron
1. Create a private/public keypair
1.1 Install keysmith
1.2 Create seed phrase
:
$ keysmith generate -o seed.txt
1.3 Create private.pem
$ keysmith <private-key -o <private.pem
1.4 Derive Ledger account from private key:
$ keysmith account -i 0