1. 主页
  2. 文档
  3. Monero-Doc 门罗币教程
  4. 第一章 交互
  5. 2 验证

2 验证

在提取文件和使用 Monero 之前必须进行核查。 本文档中的命令已经在 Linux 上测试过了,稍微修改一下在 macOS也能运行。

1. 导入核心开发 PGP 密钥

这是个一次性的操作,安装后续的 Monero 版本时,可以省略这一步。 门罗币的开发团队在二进制包中做了哈希表的签名。 Riccardo“ fluffypony” Spagni 是 Monero 核心开发人员,由他负责对文件包签名。Riccardo的公钥可以在 GitHub 的项目源代码中找到。将Riccardo 的公钥导入你的密钥环(keyring)中:

curl https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc | gpg --import

依次输入以下命令,信任Riccardo的公共密钥(指纹必须是这个字符串) :

gpg --edit-key 'BDA6BD7042B721C467A9759D7455C5E3C0CDCEB9'
trust
4

注意: 如果找不到这个密钥的指纹,需要立即移除导入的密钥(gpg — delete-keys…)。找不到指纹意味着密钥被改变了(很可能被破坏了)。

2.验证哈希列表的签名

二进制文件包及其哈希表的列表发布在 getmonero.org 和其他一些地方,如 r/monero 上的发行说明。请注意,只要签名验证无误,发布通道无关紧要。

验证哈希列表是否被篡改 ,可以运行下面的命令:

curl https://www.getmonero.org/downloads/hashes.txt | gpg --verify

输出应该包含这样一行:

英文输出:
gpg: Good signature from "Riccardo Spagni <ric@spagni.net>" [full]

中文输出:
gpg: 完好的签名,来自于 “Riccardo Spagni <ric@spagni.net>”

3.验证哈希表

通过上一步,我们确认了哈希列表没有被篡改。 最后一步是将发布的哈希与下载文件的 SHA-256哈希值进行比较。 如果你还没下载 Monero,现在可以下载了(但不要解压缩)。然后将示例文件名替换为实际文件名:

file_name=monero-linux-x64-v0.14.0.0.tar.bz2

file_hash=`sha256sum $file_name | cut -c 1-64`

curl https://www.getmonero.org/downloads/hashes.txt &gt; /tmp/reference-hashes.txt

# verify the signature (previous step is repeated here for completeness)
# 验证签名(为了流程完整,在这里再重复一遍)
gpg --verify /tmp/reference-hashes.txt

# grep must print the hash (output cannot be empty)
# grep会输出哈希值(输出一定不为空)
grep $file_hash /tmp/reference-hashes.txt

注意: 如果 grep 输出是空的,那么再次检查所有内容,因为显然哈希值不匹配。 如果 grep 打印文件名和一个哈希值,那么一切都是正常的!

我们要如何帮助您?