Does the NNS Dapp have any deep hidden ‘Developer options’ that can be unlocked to change followees for Topic 1 (NNS neuron management) and for controller-related topics other than “Hotkeys” (SNS neuron controller) using the front-end?
Do you have any advice for non-technical neuron holders on how they can easily change its controller without requiring specialized knowledge? Right now, it seems quite difficult, and I’m not even sure if it’s possible at all from the current front-end.
In my opinion, neuron management and other configuration options should be more inclusive for greater mass adoption
I used to have some instructions on the icdevs.org. They removed the option a bit after genesis and never put it back. I still would love to have it even though we have canister controlled neurons now. You basically need to “pause” the execution of a follow in the js chrome code console/debug window, and then change the topic.
Once you have a single Neuron Management Followee configured for a neuron, then the NNS dApp does allow you to add and remove other Followees for that topic. I’m only familiar with setting the first one using ic-repl and/or quill, which are both command line.
The FE doesn’t expose this Topic as its meaning is fundamentally different from other topics. While on those other topics following means delegating voting power, for this Topic following means authorizing “followees” to arbitrarily execute commands on your neuron that can have negative financial consequences for the user.
We’ll discuss internally if such a feature should be exposed in an “expert mode”.
Unless I misunderstand, neurons are only presented in the NNS dapp for a user if they’re the controller. I’m not sure I understand the use case for II-controlled neurons to have Neuron Management followees. I think it would be misleading to indicate that the neuron is operated by consensus when in fact it’s not, because the controller can override everything.
I think Neuron Management followees are very useful for:
neurons that have no controller (a controller with no known private key), and
canister-controlled neurons, because it simplifies neuron management rather than having to reinvent the wheel in the canister.
If this is implemented in the NNS dapp, I would suggest that it should really go hand in hand with being able to spawn neurons that have a mock controller (no known private key). That neuron would need to have the user as the initial neuron management followee.
This would mean the NNS dapp would need to expose proposal submission functionality to all followees of the Neuron Management topic for neurons. I think this would be really cool (but also would be more work than it seems).
Unfortunately, you can get neurons with no known private key at the moment by spawning, but this is due to be deprecated. @jasonzhu, is there any scope for keeping the spawn feature to support this use case, and build a UI around it in the NNS dapp as described above?
If not, for most intents and purposes like this I think this just leaves canister controlled neurons moving forward. A dev would be needed for managing the canister. Caffeine AI should make it simple for anyone to create and manage canister controlled neurons in the future though.
The sentiment of this governance proposal is about making it easier for more people to create communities around neuron management - this can only be good for the IC.
Configure Followees for Topic 1 (Neuron Management) in a secure and transparent manner
My feeling is that it would be more productive to ensure that this is supported via Caffeine AI (ensuring that this is a test case that Caffeine AI is good at supporting). More context given in my post above.
View and (where permitted) change the controller of a neuron
In terms of facilitating SNS neuron transfers via the NNS dapp, I believe there has already been commentary that this is coming, but as always there’s lots to do and priorities are priorities.
I agree that the NNS Dapp feature to allow adding neuron management followees wouldn’t make sense without the ability to create new community controlled neurons, and currently the only way is through spawning. Thanks for pointing that out!
We might be able to keep the ability to create such community controlled neurons while deprecating spawning. Perhaps we can use the DisburseToNeuron (by either inheriting followees or defining a new request field), or we can define a new manage neuron command to “remove the controller” (by setting the controller to a principal with no known private key, note that this should not ). We will revisit this before deprecating spawning.