decred/dcrd

GitHub: decred/dcrd

dcrd 是用 Go 语言编写的 Decred 加密货币全节点守护进程,负责完整验证并中继所有交易和区块。

Stars: 774 | Forks: 320

# dcrd [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/cas/a9/a9f4787624714e7c728582f9fd19ca892a359274bd12b88cdd60e2d5f688d9fc.svg)](https://github.com/decred/dcrd/actions) [![ISC License](https://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org) [![Doc](https://img.shields.io/badge/doc-reference-blue.svg)](https://pkg.go.dev/github.com/decred/dcrd) [![Go Report Card](https://goreportcard.com/badge/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/ ### 从源码编译(所有平台)
安装依赖 - **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 version
Windows 示例 ``` 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` 可执行文件。
## 构建和运行 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 许可证授权。
标签:Decred, EVTX分析, Go语言, 全节点, 加密货币, 区块链, 日志审计, 程序破解