Hello, colleagues. I am currently working on neuron staking and have noticed an inconsistency. For some reason, neuron data can be requested for SNS canisters but not for ICP. The list_neurons() method accepts a principal as a parameter, but in the ICP governance canister, this option is not available. As I understand it, for some reason, the ICP canister supports only authenticated calls.
Could you clarify the reasoning behind this approach? Are there any plans to make it more consistent? The ability to query the presence or absence of neurons for users seems like an important and necessary feature for dApp developers.
Hi there,
yes it is known that in the NNS there is currently no possibility to list all the neurons.
This was originally done due to privacy concerns.
To allow neuron indexing in the future, as first step the NNS now introduced private and public neurons (where for the private ones that ballots are not visible). Building on this, allowing to list / index the neurons is planned for later.
However, we have other things on the roadmap that currently have a higher priority, so it will likely still take a bit for this to be implemented.
Got it. Public neurons are a great first step. May I ask if there is a way to fetch public neurons by principal? Otherwise, there still remains a level of trust where dApp developers have to make a request to obtain the neuron ID.