List_neurons signature is different for SNS canisters and ICP

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.

Thank you!

1 Like

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.

1 Like

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.

Thanks

May I ask if there is a way to fetch public neurons by principal?

Iā€™m fairly sure this is not supported. This seems like something that could technically be added.

2 Likes