quill neuron-manage
Signs a neuron configuration change.
Basic usage
The basic syntax for running quill neuron-manage
commands is:
quill neuron-manage [option] <neuron id>
Arguments
Argument | Description |
---|---|
<neuron id> | The id of the neuron to manage. |
Flags
Flag | Description |
---|---|
--clear-manage-neuron-followees | Remove all followees for the NeuronManagement topic. |
--disburse | Disburse the entire staked amount to the controller's account. |
-h , --help | Displays usage information. |
--join-community-fund | Join the Internet Computer's community fund with this neuron's entire stake. |
--leave-community-fund | Leave the Internet Computer's community fund. |
--reject | Reject the proposal(s) specified with --register-vote . |
--spawn | Spawn rewards to a new neuron under the controller's account. |
--start-dissolving | Start dissolving. |
--stop-dissolving | Stop dissolving. |
Options
Option | Description |
---|---|
-a , --additional-dissolve-delay-seconds <SECONDS> | Number of dissolve seconds to add. |
--add-hot-key <ADD_HOT_KEY> | Principal to be used as a hot key. |
`--auto-stake-maturity enabled | disabled` |
--disburse-amount | Disburse only the selected amount. |
--disburse-to | Disburse to the selected NNS account instead of the controller. |
--follow-neurons <FOLLOW_NEURONS>... | Defines the neuron ids of a follow rule. |
--follow-topic <FOLLOW_TOPIC> | Defines the topic of a follow rule as defined here. |
--merge-from-neuron <MERGE_FROM_NEURON> | Merge stake, maturity and age from the specified neuron into the managed neuron. |
--stake-maturity <STAKE_MATURITY> | Stake the percentage (between 1 and 100) of the maturity of a neuron. |
--remove-hot-key <REMOVE_HOT_KEY> | Principal hot key to be removed. |
--split <SPLIT> | Split off the given number of ICP from a neuron. |
--register-vote <PROPOSAL_ID>... [--reject] | Vote to approve (default) or reject proposal(s). |
Examples
The quill neuron-manage
command has many uses, each operating on a neuron in a different way. The examples below will all operate on a hypothetical neuron 2313380519530470538.
To vote YES on a proposal such as 108005:
quill neuron-manage 2313380519530470538 --register-vote 108005
Or to vote NO on that same proposal:
quill neuron-manage 2313380519530470538 --register-vote 108005 --reject
This will produce a response like:
(
record {
command = opt variant {
RegisterVote = record {}
};
}
)
To follow another neuron, such as ICPMN, on a specific topic, such as Governance:
quill neuron-manage 2313380519530470538 --follow-neurons 4966884161088437903 --follow-topic 4
This will produce a response like:
(
record {
command = opt variant {
Follow = record {}
};
}
)
To stake a neuron's maturity, for example 25% of it, increasing its voting power:
quill neuron-manage 2313380519530470538 --stake-maturity 25
This will produce a response like:
(
record {
command = opt variant {
StakeMaturity = record {
maturity_e8s = 750_000_000 : nat64;
staked_maturity_e8s = 250_000_000 : nat64;
}
};
}
)
"e8s" is a shorthand for meaning the number of 1e-8s, or one-hundred-millionths, of an ICP in integer form; this response must be divided by 100,000,000 to get the real maturity, which in this case would be 7.5 and 2.5.
To disburse a fully dissolved neuron, meaning to convert it into ICP and transfer it to its controller:
quill neuron-manage 2313380519530470538 --disburse
This will produce a response like:
(
record {
command = opt variant {
Disburse = record {
transfer_block_height = 5_581_035 : nat64;
}
};
}
)
The block height, also known as the block index, can be looked up on the IC dashboard.
To spawn a new neuron, meaning to convert all the maturity from this neuron into a new one (that can be disbursed after one week):
quill neuron-manage 2313380519530470538 --spawn
This will produce a response like:
(
record {
command = opt variant {
SpawnResponse = record {
created_neuron_id = opt record {
id = 4966884161088437902 : nat64;
};
}
};
}
)
To increase the neuron's dissolve delay, for example by a full year:
quill neuron-manage 2313380519530470538--additional-dissolve-delay-seconds 31536000
To start dissolving a neuron:
quill neuron-manage 2313380519530470538 --start-dissolving
Or to stop:
quill neuron-manage 2313380519530470538 --stop-dissolving
To enable auto-staking a neuron's maturity:
quill neuron-manage 2313380519530470538 --auto-stake-maturity enabled
Or to disable:
quill neuron-manage 2313380519530470538 --auto-stake-maturity disabled
To join the IC's community fund:
quill neuron-manage 2313380519530470538 --join-community-fund
Or to leave:
quill neuron-manage 2313380519530470538 --leave-community-fund
To add a neuron hotkey, such as (for example purposes) the management canister:
quill neuron-manage 2313380519530470538 --add-hot-key aaaaa-aa
Or to remove it:
quill neuron-manage 2313380519530470538 --remove-hot-key aaaaa-aa
These 'configuration' operations will all produce a response like:
(
record {
command = opt variant {
Configure = record {}
};
}
)
Remarks
As this is an update call, it will not actually make the request, but rather generate a signed and packaged request that can be sent from anywhere. You can use the --qr
flag to display it as a QR code, or if you are not working with an air-gapped machine, you can pipe it to quill send -
.
For more information about neurons, see Neurons; for more information about their role in the NNS, see Network Nervous System; for more information about the community fund, see Community Fund.