Now that Staking is fixed, can someone please help in adding more ICP to my neuron ID?

Yes, all my ICP is purchased from Coinbase. I wasn’t part of the airdrop program.

What a pretty good proposal!

Hey @tlbalog,

I have created a new topic on this proposal, you can check it here.
Hope it can gather more response from more holders.

Again, thanks for your great idea.:+1:

Thanks for amplifying this. And for the credit too👍

1 Like

Hey @nerdoutcj, @wyz, @wpb, @Jello,

Here’s some information on how to distribute the ICP to maximize the voting reward:

Basically, the more voting power we get, the more reward we’re supposed gain.
And there’re three factors related to voting power:

  1. The number of locked ICP
  2. The length of dissolve delay
  3. The age of the neuron

Here’s the detail:
1.The number of locked ICP: With all other things being equal, the more ICP you locked, the more reward you’re supposed to get.

2. The length of dissolve delay: With all other things being equal, the longer you set the dissolve delay, the more reward you’re supposed to get.

3. The age of the neuron: With all other things being equal, the older the neuron is, the more reward you’re supposed to get.

  • Only locked neuron has age. The neuron starts aging when the neuron was created or last stopped dissolving.
  • Whenever a neuron starts dissolving, its age is reset to zero and remains zero while it is dissolving. And if the dissolving state turned off, then the neuron starts aging again, from zero.
  • Refresh the stake will change(decrease) the maturity and age of the neuron prorated.

Here’s some usual situation, saying:

  1. I have 10 ICP, and have not yet created any neurons:
    a) create one Neuron with 10 ICP
    b) create two Neuron with 5 ICP each
    Understanding: according the three factors talking above, with all other things being equal, a) and b) will gain the same reward.

  2. I have already created a neuron with 5 ICP, now I get 5 more ICP on hand:
    a) create a new Neuron with 5 ICP
    b) add the 5 ICP to the existed neuron
    Understanding:

    • The difference between a) and b) is that, b) will firstly refresh(decrease) the existed neuron’s age.
    • That means it will simultaneously affect two factors: increasing the number of staking ICP, and decreasing the age of neuron.
    • Quoting from < Understanding the Internet Computer’s Network Nervous System, Neurons, and ICP Utility Tokens>: “if the stake is doubled, the maturity and age will be halved, so spawning will yield the same amount and the age bonus will be the same as before (in absolute terms).”.
    • It means at the current top-up time, the overall rewards will not change. But when the neuron grows as old as before, it will yield more than before.
    • This suggests that, if the existed neuron is old enough, don’t bother to add more ICP into it, instead, creating a new neuron will be just fine. Anyway, it will not hurt the overall reward.

Above is my personal understanding currently, not official answers.
It could be wrong or will evolve, so please do check and verify them by yourself.
And further discussion is warmly welcomed.

Reference and further reading:

5 Likes

It does, but your reward amount remains the same in the end as the maturity is just stating how much percent of your stake you can expect to see in a freshly spawned neuron.

This is excellent info thanks mate.

Now here’s a couple of questions:

  1. If I staked my neuron for 8 years, can I just increase the dissolve delay every 6 months back out to 8years? If so I assume you could get a neuron age over 8 years old!
  2. When I spawn a neuron from Maturity will this impact or affect the age of the original neuron or is maturity a separate function to original neuron?

Can’t have the command running on my Mac! It says “error: Found argument ‘–no-wallet’ which wasn’t expected, or isn’t valid in this context”.

Any idea on what’s going wrong? Would be nice I could run it myself but here are my details, would be awesome to if someone could execute the command for me!

principal Id: t2u5w-xamy3-wzf2u-bgfxx-wiv4h-mezc7-v6pbe-oblz4-bzzub-44qvv-vae
Memo: 5040378567644815886

  1. Technically, yes, you can do that. But by doing that, you’ll not get a neuron age over 8 years old. 2 reasons for that:

    • Neuron starts aging only at locked status, as long as you start dissolving, the age of neuron will be reset to 0.
    • When the maturity of a neuron has risen above a threshold, it can be instructed to spawn a new neuron. When a neuron spawns a new neuron, its maturity falls to zero, so it’ll not be 8 years old.
    • To achieve what you want, you may do like this: locked your neuron with setting 8 years dissolve delay, and do not start dissolving it. So, it’ll starts aging with the maximum 8 years dissolve delay, and there’s no need to increase the dissolve delay.
  2. When the maturity of a neuron has risen above a threshold, it can be instructed to spawn a new neuron. When a neuron spawns a new neuron, its maturity falls to zero.

    • The exact threshold value is not known, it seems to be controlled by algorithm.
    • Here’s an example: a neuron that contains 100 ICP and has a maturity of 10 percent can spawn a new neuron that contains 10 ICP in expectation. Newly spawned neurons have a dissolve delay of only one day, allowing the ICP locked inside to be easily retrieved if desired. Of course, the newly spawned neuron has an age of zero days.
    • Reference: Understanding the Internet Computer’s Network Nervous System, Neurons, and ICP Utility Tokens,「Algorithm」part.

There’s two fundamental and critical concept to understand staking & rewarding: Lock & Dissolve.

  • Lock the neuron, then they’ll be Locked status, so they can start aging. The older, the better reward.
  • Dissolve the neuron, then they’ll be Dissolving status, and their age will be reset to 0. Still, you can get reward, but it will be less since its age is 0.

The basic idea is, if you want more reward, you long and lock them, and there’s nothing else you need to do. By understanding this, I truly realize the simplicity and beauty behind this mechanism.

1 Like

Great info thanks mate!

Send a private message to @hpeebles

Sorted!

Your memo was wrong by the way, but I found the correct one here -
https://dashboard.internetcomputer.org/transaction/fef2f716a5a9afa187fad47d2c3e617ed8c4188e807cc6ee07d32a0fd85c9fe9

Then I ran this command and it refreshed the neuron -
dfx canister --network=mercury --no-wallet call governance claim_or_refresh_neuron_from_account ‘(record {controller=principal “t2u5w-xamy3-wzf2u-bgfxx-wiv4h-mezc7-v6pbe-oblz4-bzzub-44qvv-vae”; memo=8312538503409505771})’

The --no-wallet argument was introduced in DFX version 0.7.0 which I don’t think has been made generally available.
But you can still install it by running the following -
DFX_VERSION=0.7.0 sh -ci “$(curl -fsSL https://sdk.dfinity.org/install.sh)”

Or you may just be able to run the command without the --no-wallet arg but I’m not 100% sure on that one.

1 Like

Nice ! Thanks a lot! :smiley:

Can we have a dedicated increase stake button?

I finally heard back from Dfinity Support today and they have updated my neuron in the NNS app. They didn’t indicate if the solution was specific to my neuron or across the board. So if anyone is still having issues with their ICP showing up in their neuron after a transfer to an existing neuron, then I still suggest submitting a support ticket. I also read in a different thread (either in this forum or on reddit) that dfinity is working on an update tot he NNS app that will address this issue. Hopefully the issue is going to be broadly resolved soon.

4 Likes

I tried calling command line to refresh:

▶ dfx canister --network=mercury --no-wallet call governance claim_or_refresh_neuron_from_account '(record {controller=principal “uoxxr-i33aa-oqdxa-efquo-jznod-bdl7j-d52af-sdcyb-bkj46-xhpbj-hae”; memo=3106565063110009896})'c
ComputeNetworkNotFound(mercury)

I tried switching --network=mercury to --network=ic:

▶ dfx canister --network=ic --no-wallet call governance claim_or_refresh_neuron_from_account '(record {controller=principal “uoxxr-i33aa-oqdxa-efquo-jznod-bdl7j-d52af-sdcyb-bkj46-xhpbj-hae”; memo=3106565063110009896})'
Cannot find canister id. Please issue 'dfx canister --network ic create governance'.

What am I doing wrong? I feel like the missing step is that I’m not authenticated so may not have access to nns identity (I only did dfx new example and cd into it before calling this). How should I authenticate myself or if it’s not an authentication issue, how can I get to the point where I can execute the command myself to refresh neuron?

2 Likes

Hey @hpeebles what are the chances of the nns having a refresh button on the neuron page? Would tidy up the last of these headaches that’s for sure!

2 Likes

Yep! This is being worked on and should make its way to live over the next few days

7 Likes

@hpeebles - can you refresh it for me? My principal is “uoxxr-i33aa-oqdxa-efquo-jznod-bdl7j-d52af-sdcyb-bkj46-xhpbj-hae”.
As for memo, I’m not sure how to pick the right one from - https://dashboard.internetcomputer.org/account/a2a7736511cb4c69a375a49c61778ddecd51ca64c7bd9cf8b37a2850913b94f6?p=1

the latest transation seems to have 0?

1 Like

I’ve just refreshed it!

The memo needs to be taken from the first transaction to the neuron’s address.

In your case it is this transaction -
https://dashboard.internetcomputer.org/transaction/f7d163036a34f123517e27817f94ef19cca9836e5dd36008daac651f17a1b452

2 Likes