decred/dcrd
GitHub: decred/dcrd
dcrd 是用 Go 语言编写的 Decred 加密货币全节点守护进程,负责完整验证并中继所有交易和区块。
Stars: 774 | Forks: 320
# dcrd
[](https://github.com/decred/dcrd/actions)
[](http://copyfree.org)
[](https://pkg.go.dev/github.com/decred/dcrd)
[](https://goreportcard.com/report/github.com/decred/dcrd)
## Decred 概述
Decred 是一种基于区块链的加密货币,高度关注社区
输入、开放治理以及可持续的开发资金。它采用了
混合的工作量证明和权益证明挖矿系统,以确保
少数群体无法在没有
社区输入的情况下主导交易流向或对 Decred 进行更改。该货币的单位称为 `decred` (DCR)。
https://decred.org
## 最新下载
https://decred.org/downloads/
核心软件:
* dcrd:一个 Decred 全节点守护进程(本软件)
* [dcrwallet](https://github.com/decred/dcrwallet):一个 CLI Decred 钱包守护进程
* [dcrctl](https://github.com/decred/dcrctl):一个用于 dcrd 和 dcrwallet 的 CLI 客户端
捆绑包:
* [Decrediton](https://github.com/decred/decrediton):一个包含 `dcrd`
和 `dcrwallet` 的 GUI 捆绑包
* [CLI app suite](https://github.com/decred/decred-release/releases/latest):
一个包含 `dcrd` 和 `dcrwallet` 的 CLI 捆绑包
## 什么是 dcrd?
dcrd 是用 Go (golang) 编写的 Decred 全节点实现。
它作为 Decred 加密货币的全验证链守护进程。dcrd
维护着 Decred 的完整历史交易账本,并允许将
交易中继到全球其他 Decred 节点。
该软件目前正处于积极开发中。它非常稳定,并且
自 2016 年 2 月起一直用于生产环境。
需要注意的是,dcrd *不*包含钱包功能。希望
使用钱包的用户需要使用 [dcrwallet(CLI)](https://github.com/decred/dcrwallet)
或 [Decrediton(GUI)](https://github.com/decred/decrediton)。
## 什么是全节点?
“全节点”一词是“全验证节点”的简称,指的是
能够完全验证所有交易和区块的软件,
而不是信任第三方。除了验证交易和区块外,几乎所有全节点
还参与将交易和区块中继到全球其他
全节点,从而形成作为
Decred 加密货币骨干的点对点网络。
全节点的区分非常重要,因为全节点并不是参与
Decred 对等网络的唯一类型
软件。例如,有些“轻量级节点”依赖于全节点来提供它们运行所需的交易、区块
和加密证明,以及将它们的
交易中继到全球网络的其余部分。
## 为什么要运行 dcrd?
如上一节所述,Decred 加密货币依赖于拥有
一个完全验证所有交易和区块并
将其中继到其他全节点的点对点网络节点。
使用 dcrd 运行全节点有助于提高网络的整体安全性,
增加交易和区块中继的可用路径,
并帮助确保有足够数量的节点可用于为轻量级客户端提供服务,例如简化支付验证(SPV)钱包。
如果没有足够的全节点,网络可能无法及时为
轻量级客户端的用户提供服务,这可能会迫使他们不得不依赖
显著降低隐私且容易受到
审查的中心化服务。
就个人好处而言,由于 dcrd 完全验证每个区块和
交易,因此当与同样支持直接在完全
验证模式下连接到它的钱包(例如 [dcrwallet (CLI)](https://github.com/decred/dcrwallet)
和 [Decrediton (GUI)](https://github.com/decred/decrediton))结合使用时,它提供了最高的安全性和隐私性。对于需要最可靠和最准确的
交易数据的企业和服务来说,它也是理想的选择。
## 最低推荐配置(仅限 dcrd)
* 30 GB 磁盘空间(截至 2026 年 1 月,会随时间增加,约 2.5 GB/年)
* 16.5 GB 区块链数据 + 5.5 GB 元数据
* 2 GB 内存(RAM)
* 每天约 150 MB 下载量,每天约 1.5 GB 上传量
* 外加一次性的整个区块链初始下载
* Windows 10(推荐使用服务器版)、macOS、Linux
* 高在线率
## 新手入门
那么,你已经决定通过运行全节点来帮助网络了。太棒了!运行
dcrd 很简单。你所需要做的就是将 dcrd 安装在一台
连接到互联网且满足最低推荐配置的机器上,并
启动它。
此外,请确保你的防火墙配置为允许端口
9108 的入站连接。
## 安装和更新
### 二进制文件 (Windows/Linux/macOS)
我们为常见的操作系统和架构提供了二进制发布版本。
最简单的方法是通过下面的链接下载 Decrediton,它将
包含 dcrd。高级用户可能更喜欢命令行应用程序套件,其中
包括 dcrd 和 dcrwallet。
https://decred.org/downloads/
* 安装前如何验证二进制文件:https://docs.decred.org/advanced/verifying-binaries/
* 如何安装 CLI 套件:https://docs.decred.org/wallets/cli/cli-installation/
* 如何安装 Decrediton:https://docs.decred.org/wallets/decrediton/decrediton-setup/
### 从源码编译(所有平台)
## 构建和运行 OCI 容器(即 Docker/Podman)
本项目官方不提供容器镜像。但是,从
最新源代码基于 `scratch` 构建你自己的轻量级非 root 容器镜像所需的所有
文件都可以在
[contrib/docker](./contrib/docker/README.md) 中找到。
还值得一提的是,到目前为止,大多数用户通常更喜欢直接运行 `dcrd`,
而不使用容器,这至少有几个原因:
- `dcrd` 是一个静态二进制文件,不需要 root 权限,因此
不会遇到通常使
容器具有吸引力的常见部署问题
- 与正常运行相比,从容器中运行 `dcrd` 更加困难且
更加繁琐:
- `dcrd` 旨在自动创建有效的默认配置,
这意味着对于几乎所有典型用户而言,它都可以开箱即用,无需
额外配置
- 区块链数据和配置文件需要持久化,这
意味着需要配置和管理 docker 数据卷
- 使用 `docker` 运行非 root 容器在权限
方面需要特别小心
## 运行测试
所有测试和 linter 都可以使用脚本 `run_tests.sh` 运行。通常,
Decred 仅支持 Go 的当前和上一个主要版本。
```
./run_tests.sh
```
## 联系方式
如果你有任何进一步的问题,可以在这里找到我们:
https://decred.org/community/
## 问题追踪器
本项目使用[集成的 github 问题追踪器](https://github.com/decred/dcrd/issues)
。
## 文档
dcrd 的文档目前正在完善中。它位于
[docs](https://github.com/decred/dcrd/tree/master/docs) 文件夹中。
## 许可证
dcrd 采用 [copyfree](http://copyfree.org) ISC 许可证授权。
安装依赖
- **Go 1.25 或 1.26** 安装说明可以在这里找到:https://golang.org/doc/install。 确保 Go 已正确安装且为受支持的版本: $ go version $ go env GOROOT GOPATH 注意:`GOROOT` 和 `GOPATH` 不能位于同一路径。从 Go 1.8 (2016) 开始, `GOROOT` 和 `GOPATH` 会自动设置,你不需要更改 它们。但是,你仍然需要将 `$GOPATH/bin` 添加到你的 `PATH` 中,以便 运行由 `go get` 和 `go install` 安装的二进制文件(在 Windows 上,这会 自动完成)。 Unix 示例 —— 将这些行添加到 .profile 中: PATH="$PATH:/usr/local/go/bin" # 主要的 Go 二进制文件 ($GOROOT/bin) PATH="$PATH:$HOME/go/bin" # 安装的 Go 项目 ($GOPATH/bin) - **Git** 安装说明可以在 https://git-scm.com 或 https://gitforwindows.org 找到。 $ git versionWindows 示例
``` PS> git clone https://github.com/decred/dcrd $env:USERPROFILE\src\dcrd PS> cd $env:USERPROFILE\src\dcrd PS> go install . .\cmd\... PS> dcrd -V ``` 运行现在已安装到 `"$(go env GOPATH)\bin"` 中的 `dcrd` 可执行文件。Unix 示例
这里假设你已经按照 依赖项中的说明将 `$GOPATH/bin` 添加到了你的 `$PATH` 中。 ``` $ git clone https://github.com/decred/dcrd $HOME/src/dcrd $ git clone https://github.com/decred/dcrctl $HOME/src/dcrctl $ (cd $HOME/src/dcrd && go install . ./...) $ (cd $HOME/src/dcrctl && go install) $ dcrd -V ``` 运行现在已安装到 `$GOPATH/bin` 中的 `dcrd` 可执行文件。标签:Decred, EVTX分析, Go语言, 全节点, 加密货币, 区块链, 日志审计, 程序破解