Kaspad:全节点安装指南

2024-02-21 10:23:52
190
Kaspad是用Go (golang) 编写的参考全节点Kaspa实现。

编译要求
如果你想自己编译二进制文件(如果你不确定是否要,那么你可能不需要),你需要Go 1.16或更高版本。

设置
挖矿Kaspa需要两个组件:节点 (kaspad) 和矿工。创建和维护钱包需要第三个组件。节点侦听新区块,而矿工则搜索要向节点报告的区块。所有三个组件都作为独立文件提供,无需安装。

您需要下载预编译的二进制文件,或者自己编译代码库。对于大多数用户,建议使用第一个选项。

请注意,所有kaspad和矿机必须并行运行。也就是说,每个都应该从不同的控制台运行,只要进行挖矿,就不应该被打扰。

下载二进制文件
使用kaspad的最简单方法是从此处下载二进制文件。下载适合您操作系统的二进制文件后,您应该将它们解压缩到某个文件夹。

请注意,本教程的其余部分假定您是从源代码安装的,因此在运行每个命令之前,应首先运行:

$ cd <THE_EXTRACTED_BINARIES_FOLDER>
Linux和Mac用户可能需要添加到任何命令,以便它运行相应的二进制文件。例如:./

./kaspad --utxoindex
从源代码构建
根据此处的安装说明安装Go:http://golang.org/doc/install

确保Go已正确安装并且是受支持的版本:

$ go version
执行以下命令,获取并安装kaspad,包括所有依赖项。
$ cd kaspad
$ go install . ./cmd/...
Kaspad(和实用程序)现在应该安装在 中。如果你这样做了 在Go安装过程中尚未将bin目录添加到您的系统路径中, 我们鼓励您现在就这样做。$(go env GOPATH)/bin
开始
Kaspad有几个配置选项可用于调整它的运行方式,但所有 基本操作的工作与零配置,除了标志(如果您不使用钱包,可以省略此标志):--utxoindex

$ kaspad --utxoindex
您可以调用以获取更多正在运行的标志的列表。kaspad --help

首次运行kaspad时,它将从Kaspa的DNS服务器检索对等信息,并开始与网络同步。首次同步可能需要长达几个小时(具体取决于您的CPU强度和带宽)。在网络同步之前不可能挖矿。每次运行kaspad时,它都会增量同步离线时累积的任何块,这通常是一个更短的过程(只要kaspad关闭的时间不超过几个小时)。

创建电子钱包(可选)
要运行一个矿工,你需要创建一个密钥对来挖矿:

$ kaspawallet create
您将被要求为钱包选择一个密码(密码长度必须至少为8个字符,并且当您输入密码时,它不会显示在屏幕上)。之后,您应该运行以下命令以启动钱包守护程序:

$ kaspawallet start-daemon
然后运行它以从钱包请求一个地址:

$ kaspawallet new-address
您的屏幕将显示如下内容:

The wallet address is:
kaspa:0123456789abcdef0123456789abcdef0123456789
注意:每次您向kaspawallet询问地址时,您都会得到一个不同的地址。这完全没问题。每个密钥都与许多不同的公共地址相关联,没有理由不为每笔交易使用新的密钥。

此时,您可以关闭钱包守护程序,但您应该保持它运行,以便能够检查余额并进行交易

运行矿机(可选)
注意:我们的矿机被Elichai的矿机(见下文)高度取代,我们建议您改用该矿机。

创建钱包后,复制地址并用它运行kaspaminer:

$ kaspaminer --miningaddr kaspa:<YOUR_CREATED_ADDRESS>
注意:矿机是单线程的,因此最好运行它的多个实例以利用多个CPU内核。注意:在网络同步之前,挖矿无法开始。为了节省您的CPU,矿工不会在节点同步之前开始挖矿。因此,随着kaspad获得当前的网络状态,预计在一段时间内将看到0哈希/秒的挖矿率。

在其他计算机上挖矿
并非所有机器都需要运行kaspad。一旦你有一个正在运行的节点,任何其他机器都可以使用以下标志向它报告他们的块:-s

$ kaspaminer -s <node IP address> --miningaddr kaspa:<YOUR_CREATED_ADDRESS>
您可以在Linux或Mac中运行,也可以在运行kaspad的计算机上运行Windows以查找其IP地址。ifconfigipconfig

Elichai's Miner(以利猜矿工酒店)

Elichai的矿工是用Rust编写的高效矿工,其性能比原生矿工高出大约一个数量级。语法大致相同,只是将标志重命名为,并且将标志替换为 。--miningaddr--mining-address-s--kaspad-address

矿工的典型调用可能如下所示

$ kaspa-miner-v0.1.0-win64-amd64 --kaspad-address <node IP address> --mining-address <wallet address>
与原生矿机一样,当从运行kaspad的同一台机器上运行矿机时,可能会省略该标志。--kaspad-address

注意:Elichai的矿工是多线程的,因此不需要运行多个实例。默认情况下,它将为每个物理/逻辑内核(但不是虚拟内核,即超线程/SMT内核)运行一个线程。如果您想在或多或少的内核上运行它,可以使用标志进行调整--threads

注意:与原生矿工不同,Elichai的矿工无论kaspad的同步状态如何,都会搅动区块。在网络不同步时发现的任何块都将不被接受。如果收到错误,这仅表示节点不同步,要么是因为初始同步尚未完成,要么是因为它暂时不同步。"Block not submitted - IBD is running"

Windows用户注意事项:Elichai的二进制文件是未签名的,这意味着它在某些系统中被Windows defender自动阻止。为了运行它,您可能需要手动添加排除项。不要为了运行矿机而完全关闭WINDOWS DEFENDER!

Linux/Mac用户注意事项:有时系统无法将矿工文件识别为可执行文件。这会导致在尝试调用矿工时出错。这可以通过发出命令 来修复。permission deniedchmod +x <file name>

GPU矿工
社区开发的支持CUDA的GPU矿工可在此处获得:https://github.com/elichai/kaspa-miner/releases/latest。 GPU矿机现在也支持openCL和AMD GPU。

打开端口
通过将端口16111(除非另有配置)转发到运行kaspad的机器,您的节点将成为网络其他成员可以使用的公共节点进行同步。尽管私有节点仍然可以挖矿,但为了网络的整体健康,我们鼓励您公开您的节点。与任何其他去中心化系统一样,Kaspa在有许多公共节点时效果最好。

Kaspad硬件要求
最低:

100 GB磁盘空间
第7代i7 4核处理器或AMD同等处理器
8GB内存
10 Mbit互联网连接
推荐:

第9代i7 8核处理器或AMD同等处理器
16 GB内存
40 Mbit互联网连接
不和
您可能想加入我们的discord服务器以获取更多问题:https://discord.gg/SfHCaDchrs