下载
节点、命令行和桌面钱包,覆盖所有已有构建的平台。每个平台一个归档,而它就是能加入网络的那一个。
发布列表无法取到,所以上面没有写出版本号。下面每一个按钮依然可用:每一个都指向发布页面,而它总能解析到当前的发布版本。
桌面钱包#
一个包裹着 zcd ui 所提供的同一钱包界面的窗口,构建在同一个 wallet/session 之上 — 因此它在结构上就不可能比命令行更宽松,而不只是"本意如此"。它持有密钥;在移动任何资产之前,值得先读一读这八条规则。
| 你的机器 | Zycord Wallet |
|---|---|
| LinuxDebian、Ubuntu — 64 位 | 下载 .deb |
| LinuxFedora、RHEL、openSUSE — 64 位 | 下载 .rpm |
| Windows64 位 Intel 或 AMD | 下载 |
| macOSApple Silicon 与 Intel | 安装 |
其中每一个都同时包含钱包和它所运行的 zycordd 节点,因为没有节点的钱包无从同步、无从交易,也无从挖矿。该节点是 RandomX 构建版本,正是 mainnet 和公开 testnet 所接受的版本。Linux 软件包还会把 Zycord Wallet 加入应用程序菜单。
没有适用于 ARM 版 Windows 或 ARM 版 Linux 的钱包。
在服务器上,从终端#
下面的安装脚本自下一个版本起开始随发布提供。在此之前,请从上表中取得适合你平台的压缩包并手动解压 — 安装页面列出了相应命令。
安装脚本#
它会为其运行所在的机器下载正确的压缩包,校验校验和,然后才安装。先下载,读一遍,然后运行:
curl -fsSLO https://zycord.com/releases/vX.Y.Z/install.sh
less install.sh
sh install.sh --version vX.Y.Z
--version 是必填的,且没有 latest:你没有指名的版本,就是你没有选择的版本。上面的标签会在本页加载时由最新版本填入;如果你在关闭脚本的情况下阅读,请到版本发布页面取用标签。
在 Mac 上#
没有 macOS 下载,这并非无人着手的构建。钱包通过 cgo 调用平台 webview,节点则内含以 C++ 编写的 RandomX 引擎;两者都需要只存在于 Mac 上的 Apple SDK。构建机器上没有任何东西能交叉编译它们。
因此下面的脚本会在你的机器上构建它,这除了二进制文件之外还带来一点好处:本地构建的应用不带隔离属性,Gatekeeper 也就无从拒绝。下载来的 .app 则会被拒绝,因为为其签名需要 Apple Developer ID,而该证书会公开开发者的法定姓名 — 这个项目并没有。
它需要 Xcode 命令行工具(xcode-select --install)和 Go。先下载,读一遍,然后运行:
curl -fsSLO https://zycord.com/releases/vX.Y.Z/install-macos.sh
less install-macos.sh
sh install-macos.sh --version vX.Y.Z
它会在编译任何内容之前,用已签名的校验和核对源码,构建内含节点的钱包,并把 Zycord Wallet.app 放入 /Applications。耗时几分钟,其中大部分是编译。
运行前先验证#
你的操作系统会发出警告,而这里没有代码签名证书,这是设计使然,而非预算所限:这样的证书意味着由某个权威机构证明一个经过核验的法律身份,而不含法定姓名的版本并不存在。取而代之的,是任何人都能复现的构建。
| Checksums, the archives above | SHA256SUMS.randomx |
|---|---|
| Checksums, the Debian packages | SHA256SUMS.deb |
| Checksums, desktop wallet | SHA256SUMS.desktop |
| 校验和:RPM 软件包 | SHA256SUMS.rpm |
| 校验和:源码压缩包 | SHA256SUMS.source |
| Release signing key | zycord-release-key.asc |
sha256sum --check --ignore-missing SHA256SUMS.randomx # shasum -a 256 on macOS
--ignore-missing 并非宽容。该文件覆盖了该版本发布的所有压缩包,而你只下载了其中一个;不加该选项,你没有的那些会被报告为失败,命令会在一次完全正常的下载上以非零状态退出。
该版本随附 zycord-release-key.asc,即项目的公钥,并用它签署更新器的清单 — 但不签署任何校验和文件。没有 SHA256SUMS.randomx.asc,它们也都不是明文签名。因此校验和只能证明文件是从本页面完整送达的,仅此而已;它无法告诉你页面本身是否为真。在校验和也被签名之前,真正有分量的检查是下面的重新构建:它不需要签名,也不需要信任发布者,因为字节由你自己产出并比对。
指纹发布在此处,是为了让签名(一旦出现)能够与你自己导航到的页面上读到的内容核对,而不是与该版本随手交给你的东西核对:
E724 39CE DD85 11F9 D607 550B 87FD 60D5 EB4A 0B29
其余内容 — 从何处获取密钥、为什么 keys.openpgp.org 提供的副本会被 GnuPG 拒绝,以及如何重建某个标签并比对哈希 — 见验证下载。
或者自己构建#
更可靠的做法,也正是可复现层级存在的意义所在:你构建的是你自己检出的那个标签,而不是某个代理端给你的东西。
git clone https://gitlab.com/zycord-group/zycord-node.git
cd zycord-node
make build-randomx # bin/zcd-randomx, bin/zycordd-randomx -- joins a network
make build # bin/zcd, bin/zycordd -- reproducible, devnet only
Go 工具链固定为 go1.26.2,构建在其他版本下会拒绝运行,因为两个 Go 版本会把同一份源码编译成不同的机器码,而这种不一致看起来与被篡改毫无二致。详情见安装。