Running the Governance canister locally and making calls to the governance canister?

I’m adding staking capability to my wallet and will be needing to test locally at some point. My first question is: It’s the governance canister that is responsible for creating and managing Neurons, correct?

my second question is: Am i able to import and call the governance canister from my motoko backend similarly to how I can import and call the ledger canister?

my third question is: Does anyone have any references that explain how to install and deploy a local replica of the Governance Canister?

@roman-kashitsyn would you by chance be able to shed a little light here? :point_up_2:t5:

Hi Jesse!

That’s correct, Governance canister is responsible for creating and managing neurons.

Yes, this is possible.

Does anyone have any references that explain how to install and deploy a local replica of the Governance Canister?

Unfortunately, such docs do not exist at the moment. Could you describe the idea of the dapp you’re planning to build? There are a few potential issues with the Governance canister:

  • Canisters are not allowed to control neurons at the moment.
  • The Governance team tends to break backward compatibility of their Candid interfaces quite often.

@roman-kashitsyn, I’m building a wallet that allows users to store things of sentimental value in addition to having the traditional features of crypto wallets on the IC. I want users to have the option to stake neurons, which is where the governance canister comes into play.

would you happen to know of an estimated time frame as to when canisters will be allowed to control nuerons and when the documentation for the governance canister will be made available?

also, could you direct me to a member of the governance team? thank you!

1 Like

Hi @Jesse, David from the NNS team here.

Deploying a local replica of NNS governance canister is quite involved and not very well documented, since we didn’t expect users to want to do that. There are some instructions here: ic/rs/nns at master · dfinity/ic · GitHub . Though they might be out of date, you might want to give it a try.

Some thing that is not clear: would you want to create NNS (ICP) neurons, or have the equivalent of neurons for your dapp/token?

If its you dapp/token neurons you want, you can expect to have an SNS governance canister initial release sometime before the end of march (though the code is already present in the repo). It’s up to the developer to defined the controllership limitations (or lack thereof) in this case, so I think it would be totally possible to have canisters control (SNS) neurons.

If it’s NNS neurons that you’d want, allowing canisters to control neurons is not something that is expected to exist. Controllership of neurons is not changeable (allowing canisters to control neurons would allow to change the controller of neuron by allowing to change the controller of the canister).


Thank you for letting me know. It was, indeed, ICP neurons that i was hoping to create. It’s back to the drawing board for now :upside_down_face:.