2 个不稳定版本

0.4.1 2023年2月25日
0.3.0 2023年1月18日

#36 in #匿名


用于 darkfi-sdk

AGPL-3.0-only

65KB
1.5K SLoC

DarkFi - 匿名、无审查、主权

Build Status Web - dark.fi Manifesto - unsystem Book - mdbook

我们希望通过强大的密码学和点对点网络来普及匿名数字市场。我们正在建立一个抵抗监控状态的自由网络。

遗憾的是,法律没有跟上技术的步伐,这种脱节造成了重大的公共安全问题。我们称之为“黑暗化”。

詹姆斯·科米,FBI 纽约分局局长

因此,让我们进入黑暗。

关于 DarkFi

DarkFi 是一个新的 Layer 1 区块链,以匿名性为核心设计。它提供了灵活的私有原语,可用于创建任何类型的应用程序。DarkFi 的目标是使匿名工程对开发者高度可访问。

DarkFi 利用零知识密码学的最新进展,包括合同语言和开发者工具包来创建不可审查的代码。

在一个完全黑暗、匿名的系统中,加密货币有可能孕育出以主权为中心的新技术概念。这可能是一个富有创造性和再生的空间 - 黑暗复兴的黎明。

连接到 DarkFi IRC

遵循 P2P IRC 代理的安装说明

构建

此项目需要安装 Rust 编译器。请访问 Rustup 获取说明。

您必须安装本地工具链,该工具链在 Rust 安装过程中设置,包括夜间工具链和 wasm32 目标。要安装夜间工具链,执行

% rustup toolchain install nightly

要安装 wasm32 目标,执行

% rustup target add wasm32-unknown-unknown
% rustup target add wasm32-unknown-unknown --toolchain nightly

支持的最低 Rust 版本为 1.77.0 (夜间版)

还需要以下依赖项

依赖项 基于 Debian 的
git git
make make
gcc gcc
pkg-config pkg-config
alsa-lib libasound2-dev
openssl libssl-dev
sqlcipher libsqlcipher-dev
wabt wabt

基于 Debian 的系统(例如 Ubuntu)的用户可以简单地运行以下命令来安装所需的依赖项

# apt-get update
# apt-get install -y git make gcc pkg-config libasound2-dev libssl-dev libsqlcipher-dev wabt

或者,用户可以尝试通过在 contrib 文件夹中执行自动脚本来使用

% sh contrib/dependency_setup.sh

脚本将尝试识别您正在运行的系统,并根据需要安装依赖项。如果找不到您的包管理器,请考虑在脚本中添加对其的支持,并提交补丁。

要构建必要的二进制文件,我们只需克隆仓库,然后使用提供的Makefile构建项目。

% git clone https://codeberg.org/darkrenaissance/darkfi
% cd darkfi
% make

开发

如果您想修改源代码,请确保阅读DarkFi书籍中的入门建议。

走在科技前沿

由于项目使用夜间工具链,难免会有破坏性变更发生。作为解决方案,我们可以配置一个已知可以工作的较旧夜间版本。

% rustup toolchain install nightly-2024-04-05
% rustup target add wasm32-unknown-unknown --toolchain nightly-2024-04-05

现在我们可以在make中直接使用该工具链。

% make CARGO="cargo +nightly-2024-04-05" {target}

或者,如果我们懒惰,可以修改Makefile以始终使用它。

% sed -i Makefile -e "s|nightly|nightly-2024-02-01|g"

在任何情况下都不要提交或推送Makefile更改。

当直接使用cargo时,必须添加+nightly-2024-02-01标志,以便使用较旧的夜间版本。

安装

这将将在您的系统上安装二进制文件(默认为/usr/local)。二进制文件的配置文件与二进制文件捆绑在一起,并包含合理的默认值。您需要运行每个守护程序一次,以便它们生成配置文件,然后您可以对其进行审查。

# make install

示例和用法

请参阅DarkFi书籍

进入黑暗

让我们让人们摆脱大技术的魔爪,创造技术民主范式。

自卫对于任何生物的生存和成长都是至关重要的。

权力属于小人物。

依赖项

~0–1.2MB
~29K SLoC