Skip to main content

7.5 操作方法:种子轮参与者如何申领神经元

这是为种子轮贡献者以NNS神经元来申领ICP实用型货币的指南。关于认领后控制神经元的指南,请参考此教程

介绍

如果你在2017年2月向DFINITY基金会捐款来支持互联网计算机的发展,那么你就是种子参与者。当时每捐赠同价值的瑞士法郎会分配30个代币到你的密钥上。这些代币现在被称为“ICP功能型代币”或简称“ICP”。

在创世块解锁时(Genesis Unlock),ICP以49个投票神经元为一篮子的形式支付给你。这些神经元已经存在于网络神经系统中。你的神经元包含了你已经获得的代币,这些代币被质押在内。

你的神经元被配置成了自动投票,并且已经为你赢得了投票奖励。所以你不需要为了继续获得投票奖励而做任何事来初始化你的神经元。

你的49个神经元具有溶解延迟,可以是0天、30 天、60 天、90天等。除了第一个神经元具有0天溶解延迟(可以立即溶解)外,其他溶解延迟可能会被加上少量随机天数。

你的神经元也已经被提前设定了年龄。在创世解锁的那一刻,他们的年龄被设定为了18个月。这很重要,因为神经元年龄极大地增加了你的投票权和所获得的投票奖励。

要控制神经元,你必须使用捐赠时生成的密钥。你当时用了12字的助记词来记录它。为了控制你的神经元,你需要首先申领神经元basket。有两种申领方式,将在下文进行说明:

  1. 使用Ledger Nano设备进行申领(即将推出);
  2. 使用断网计算机 + 联网计算机/智能手机进行申领。

申领后会有两种方法来控制神经元:

  1. 教程中描述的NNS dapp(GUI);
  2. github上提供的一个命令行工具ic-hardware-wallet-cli。

使用Ledger Nano设备进行申领(即将推出)

这将与Ledger Nano的下一个ICP应用程序更新一起推出。当前版本可以管理神经元,但还不能申领神经元。

第一阶段发布:Ledger Nano的“ICP”应用程序的第一阶段发布是针对所有消费者的。它允许人们管理神经元,比如改变溶解延迟、溶解、支付、管理热键、投票等。当然,它也允许在本地账本中转移ICP。

第二阶段发布:接下来的第二阶段发布包括为种子轮神经元的 claim_neurons 功能。这是一个专门为种子轮参与者的更新。

通过断网计算机申领

申领需要获取你的秘密助记词以及由它延伸的密钥。强烈建议你使用断网计算机进行申领。如果你不习惯这样的设置或以下任何步骤,那么你必须等待下一个版本的Ledger Nano设备的“ICP”应用程序。

你可以使用Windows、Linux或MacOS来作为气隙计算机。Linux包括树莓派。

下载工具

你需要第二台联网的计算机来下载工具。这些工具被称为 keysmithquill。这里描述了如何为你的架构查找和下载二进制文件。或者,您可以从 github 上为 keysmithquill 提供的源代码来自己编译工具。

二进制文件可用于以下硬件架构。在这里,架构是指断网计算机,而不是联网计算机。

硬件keysmithquill
Mac、英特尔芯片darwin-amd64macos-x86_64
Mac、苹果芯片 (M1)darwin-arm64-
Linux (x86)linux-amd64linux-x86_64
树莓派linux-arm32arm_32
Linux(arm)linux-arm64-
windowswindows-amd64windows-x86_64

下载keysmith

keysmith 选择最新版本(目前是 v1.6.2),并获取与上表中的气隙计算机架构匹配的.tar.gz 文件。

下载quill

quill 选择最新版本(必须 >= 0.2.12),并获取与上表中气隙计算机架构匹配的可执行文件。

拷贝到断网计算机

从联网计算机中将 keysmith.tar.gz文件和 quill 可执行文件复制到气隙计算机。例如,你可以用一个USB驱动器执行这个操作。

验证哈希

打开断网机,转到终端。将目录更改为keysmith .tar.gz文件和quill可执行文件所在的文件夹。使用以下命令计算SHA256哈希:

openssl dgst -sha256 keysmith-*

以及

openssl dgst -sha256 quill-* 

哈希值应该匹配以下条目:

SHA256(keysmith-darwin-amd64.tar.gz)= a53bad6fa36c1eb35cd36059ffe9cbf4c063b515e47ccf666b7e1c174a7d1088
SHA256(keysmith-darwin-arm64.tar.gz)= 47932452353fe7f921b4ac41828dd19530ae0c4bdb72bcbb016a0715ca80e879
SHA256(keysmith-linux-amd64.tar.gz)= cb283dac031d8676f25e72d19115be347d2b85c864a17dd563104bf496b14a06
SHA256(keysmith-linux-arm32.tar.gz)= b28670e2b3483ea9f9ba691e9f76f99df31b2678db33b69c888fb08b634de162
SHA256(keysmith-linux-arm64.tar.gz)= ebe9cde3cf440ebbfb53dd10bf7f412cbff8b089551100ee0fa48f3ac9bd66c3
SHA256(keysmith-windows-amd64.tar.gz)= 1ef9b77ccaae980aad4a227fe1a817821245da491a90f0e6ad323426b49ae40a

以及:

SHA256(quill-arm_32)= ebe2506e4dc4422e7670094e8b2b1d854a3b3c317b25c1c88990853d3d85c064
SHA256(quill-linux-x86_64)= 18fc671ee8c96b367875b39470073d68db78d32d242d14d4682025ef2a5d9ad4
SHA256(quill-macos-x86_64)= 97c373ab871be377ac784faff089ca26d23c37725230fb36d78f17d7a73b0867
SHA256(quill-windows-x86_64.exe)= 2542244c9ad3a9baf54bc2227e8c71ea8a8fb9f7e6065cc7a848c7b1cdce906e

安装

用于 keysmith:

tar -f keysmith-*.tar* -x
sudo install -d /usr/local/bin
sudo install keysmith /usr/local/bin

系统会提示您输入笔记本电脑密码。密码本身不会出现,只需输入它并按回车。用于quill

mv quill-arm_32 quill 
sudo install quill /usr/local/bin

使用keysmith生成私钥文件

测试安装

在断网计算机上运行:

keysmith  

你应该参考:

usage: keysmith <command> [<args>]  

Available Commands:
account Print your account identifier.
generate Generate your mnemonic seed and write it to a file.
legacy-address Print your legacy address.
principal Print your principal identifier.
private-key Derive your private key and write it to a file.
public-key Print your public key.
shortlist Print the available commands.
version Print the version number.
x-private-key Derive your extended private key and write it to a file.
x-public-key Print your extended public key.

如果您正在使用macOS,第一次运行keysmith可能需要您授予权限:系统偏好设置>安全与隐私>通用。

输入你的助记词(又名“种子”)

如果您确信您的环境是安全的,那么您就可以用 keysmith 输入种子。在这期间,您将种子短语存储在一个环境变量中。当您关闭计算机时,它将在您的系统中被消除。

read seed 

输入种子短语并以Return结束。

如果你在输出时不想显示你的种子短语,那就使用这个命令:

read -s seed  

可选的:检查你的遗产地址(legacy address)和余额

此时,您已经可以验证您的遗产地址和ICPT余额。遗产地址匹配之前Dfinity Chrome扩展中的“DFN地址”。当你使用扩展时,你可能已经从Chrome扩展复制了你的记录。

echo $seed | keysmith legacy-address -f -  

输出是一个40个字符的十六进制字符串。它看起来像这样:

2d89d96b10f7a9456a9154b2f5309ee70df5bce1  

您可以通过以下方式查看您的ICPT余额:登录 https://ic.rocks/principal/renrk-eyaaa-aaaaa-aaada-cai ,查找“容器接口”和“余额”方法。在那将你的DFN地址粘贴到标记为“text”的字段中,然后单击“Query”按钮。你的ICP余额将显示在“nat32”下面。

创建您的私钥(.pem文件)

从您的种子短语中派生您的私钥。

echo $seed | keysmith private-key -f -  

这样会创建一个内含你的私钥的identity.pem 文件。

可选:只在RAM中存储.pem文件

我们稍后会从文件系统中抹去identity.pem 文件。然而这仍然存在一个风险,即数据可能仍存在磁盘中随后被提取,尽管它已经被抹去了。因此创建一个RAM磁盘并只将.pem文件存储在RAM磁盘中会更加安全。

在MacOS上创建RAM磁盘
运行以下命令:

1DISK=$(hdiutil attach -nomount ram://16384)
2diskutil erasevolume HFS+ RD $DISK
3cd /Volumes/RD

在运行前

echo $seed | keysmith private-key -f -  

在Linux上创建RAM磁盘
运行以下命令:

1sudo mkdir /mnt/ramdisk
2sudo mount -t ramfs keysmith /mnt/ramdisk
3sudo mkdir /mnt/ramdisk/workspace
4sudo chown $USER /mnt/ramdisk/workspace
5cd /mnt/ramdisk/workspace

在Windows上创建RAM磁盘

代办 (todo)

用quill提交申领

测试安装

在断网计算机上运行:

quill 

你应该参考:

quill 0.2.12

Ledger & Governance ToolKit for cold wallets

USAGE:
quill [OPTIONS] <SUBCOMMAND>

OPTIONS:
-h, --help Print help information
--pem-file <PEM_FILE> Path to your PEM file (use "-" for STDIN)
-V, --version Print version information

SUBCOMMANDS:
account-balance Queries a ledger account balance
claim-neurons Claim seed neurons from the Genesis Token Canister
get-proposal-info
help Print this message or the help of the given subcommand(s)
list-neurons Signs the query for all neurons belonging to the signin principal
list-proposals
neuron-manage Signs a neuron configuration change
neuron-stake Signs topping up of a neuron (new or existing)
public-ids Prints the principal id and the account id
send Sends a signed message or a set of messages
transfer Signs an ICP transfer transaction

如果您正在使用macOS,第一次运行quill 可能需要您通过 系统偏好设置> 安全和隐私> 通用 来授予权限。

签署申领请求

在断网计算机上运行:

quill --pem-file identity.pem claim-neurons >msg.json  

将申领提交到IC

选项1: 在联网计算机上用quill

将结果文件msg.Json拷贝回联网的计算机。在联网的计算机上切换到msg.json所在且在运行的目录:

quill send msg.json 

你的神经元现在应该被申领了。
你可以用下面的方法来确认是否成功: 登入 https://ic.rocks/genesis/2d89d96b10f7a9456a9154b2f5309ee70df5bce1 ,在这用你自己的DFN地址来替换 2d89d96b10f7a9456a9154b2f5309ee70df5bce1 。在“状态”下你应该看到“已申领”。

选项2:使用二维码扫描软件

清理断网计算机

如果你的申领成功了,不要忘记删除断网计算机中的.pem文件:

rm identity.pem