[Soft Launch] Improved IC Staking Documentation and Experience

Improving the tools and tutorials for Staking on the IC

Ahoy ICP community,

DFINITY’s Principal Engineer @John and I have begun working on a project we think will greatly help the ICP community: Improved staking experience for self-custody. We want to maximize community involvement in this project so want to share the project’s intent, especially where we need all of your’s help.

The scope and intent

Staking on the IC is key for governance. We want to encourage more voting, more neurons, more leaders.

There are many tools and documents for staking on the IC. While the onboarding path and experience of the NNS frontend Dapp has greatly improved since network Genesis (and it has recently been open sourced), the onboarding path and options for self-custody, still need to improve to make this easier for folks.

This is where you come in.

Improved Documentation and tools

John and I have created an onboarding tutorial for self-custody staking that walks people through the options. We have made the documentation entirely open source from the beginning so that we can take feedback, pull requests, issues, etc… from the broader ICP community:

[Warning: The Documentation is still in Beta!]

Documentation and tutorials: Home - Staking with Self-Custody
Code for the documentation on GitHub: GitHub - dfinity/ic-staking-documentation

How You can help

  • Try out the documentation
  • File issues
  • Make pull requests
  • Comment on other people’s pull requests
  • Give feedback on this thread

Scope (and current status) of the project

It is important to lay out how we are thinking about this:

Scope

The scope is to make it very easy for people to stake and manage their neurons. We are thinking about it from a person’s POV so here are some users whose lives we want to make better:

  • Folks who want to stake but want the easiest path possible
  • Folks who want to stake but want as much technical control of their ICP as possible
  • Seed round Folks who want easier access to their neurons (yes, give me feedback. We will also improve tools for you all!)
  • Folks with varying platforms: Linux, Windows, OSX
  • Folks who do not have biometric devices or do not want to use II
  • Folks who want to understand the security risks involved in their custody

Current Status

[Warning: The Documentation is still in Beta!]
Documentation and tutorials: Home - Staking with Self-Custody
Code for the documentation on GitHub: GitHub - dfinity/ic-staking-documentation

  • The documentation, commands, and tools need more QAing
  • We have docs and tools that have been tested mostly on OSX and some on Linux. No windows testing yet.
  • We do not have improved docs or tools for seed round folks

Next steps

  • Continue testing, testing, testing, updating docs and tools
  • Make it clear what tools are commands are best for what platform
  • (Hopefully) accept PRs from all of you all :slight_smile:
7 Likes

Fwiw, If you are looking for an opportunity to improve the adoption and experience of the IC, this is a fairly low-overhead one.

2 Likes

Thanks for all the feedback, folks.

We have made many improvements to the following areas:

  • QR code generation and scanning
  • platforms supported
  • how to recover private keys
  • improved images
  • Copy changes and improvements
1 Like

Great initiative!

Imho letting people migrate from their seed to a new, possibly hardware-protected key should be of the utmost priority, as I know personally of at least one big holder that got hacked because their seed leaked somehow during these several years from the ICP seed sale.

Imagine Ethereum not allowing people to move their entire stake after genesis, holders would riot, and possibly the project would never become as the massive success that we know it today.

I do understand this matter is not as simple as it might seem, yet perhaps even letting people use their KYC to do the migration would be a big plus to seed holders satisfaction from the ICP project.

1 Like

I believe I agree but I want to throw it back to you to make sure I didn’t miss any nuance:

Would Ledger nano integration (to use one industry example) satisfy your intent, @SyBer ?

1 Like

I can’t wait!

I think this is super important because so many people I know who hold crypto either NEVER use it outside buying, holding or selling, or worse, having it through Robinhood. A lot of small time retail investors are not used to anywhere near what staking consists of on ICP.

Moving their crypto outside a central exchange or cold storage, unfortunately for most of my peers, is pretty alien. I tried to explain how to stake ICP to a few people I knew who got into ICP recently and they were just confused.

Good luck on this! I’ll try to read some of it over the weekend when I have a chance and try to throw in my 2 cycles.

1 Like

Thanks!! Much appreciated!

Updates:

After talking to the engineers, we believe Ledger nano will support seed round folks pretty seamlessly, but I want to verify myself all the steps. Once i do that, i will update the documents.

1 Like

Hey folks,

After more tests and updating the staking docs.

Small win…

We have our first PR from someone in the community! Someone found some typos, so I merged them in :wink:

I have made a lot of improvements:

  • Fixed lots of typos
  • Re-organized some content
  • Re-organized commands for post-staking activities (starting dissolve delay, adding hotkey, etc…)
    Added FAQs
  • I created a “checklist of confidence” which is a simple TODO checklist that would convince me that I understood everything and that all the tools were properly installed before I air-gapped my computer. I found it helpful to expose my doubts in a checklist so maybe others will appreciate it: 7.2 Checklist for confidence - Staking with Self-Custody

Biggest UX gaps:

  • Platform testing is not great. Linux (Ubuntu) and Intel-based macOS work well. M1-based macOS devices have some hard to reproduce issues with installing quill and keysmith due to the way macOS re-organized things like OpenSSL and homebrew in M1. Some folks have started Windows testing.
  • There are two silly UX issues that can trip up beginners:

a. the Bash script for QR Codes can be daunting for people afraid of terminals

b. It is very easy to have to be in a situation where the user needs to navigate across directories to make the commands work. This is trivial to anyone who is comfortable reading error messages and cd’ing their way to the right directory but can be blocking for others

Next Steps

  • I have a Ledger nano, but I have not added those steps until Ledger is officially live
  • I have not tested seed round usage very much yet
  • Post-staking activities need to be more fleshed out for people who want to understand more about merging maturity, and other concepts
  • Remove and make some new screenshots
  • Move the docs to the IC
4 Likes

Update:

Anti-Update for those curious:

No word yet on ledger nano for staking. I wanted to actively tell people that to at least let folks know what we know.

I am working on improving the docs this weekend.

4 Likes

any update for seed people?

Sorry for my vague writing, I guess my earlier update was not clear:

  • I still believe that Ledger integration will be the easiest way for seed round folks to interact
  • ICP <> Ledger nano integration is not officially supported yet by Ledger (that is why I gave a reverse update on Ledger since so many folks are waiting on it)