3 个版本
0.0.3 | 2024 年 4 月 5 日 |
---|---|
0.0.2 | 2023 年 6 月 7 日 |
0.0.1 | 2023 年 2 月 9 日 |
22 在 #bitcoin 中
243 每月下载量
在 7 个 crate 中使用(通过 clarity-vm)
1MB
18K SLoC
Stacks 区块链
Rust 语言实现的 Stacks 区块链 的参考实现。
Stacks 是一个使用 Bitcoin 作为安全基础层的二层区块链,通过 Clarity 语言 使去中心化应用和可预测的智能合约成为可能。Stacks 实现了锚定到 Bitcoin 安全的 证明转移(PoX) 矿工。领导者选举发生在 Bitcoin 区块链上,而 Stacks(STX)矿工在独立的 Stacks 区块链上写入新块。使用 PoX 不需要修改 Bitcoin 以启用智能合约和去中心化应用。
构建
1. 下载并安装 Rust
对于 Windows 上的构建,请遵循 https://rustup.rs/ 的 rustup 安装程序说明。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup component add rustfmt
- 构建
master
分支时,请确保您使用的是最新稳定版
rustup update
2. 克隆源代码库
git clone --depth=1 https://github.com/stacks-network/stacks-core.git
cd stacks-core
3. 构建项目
# Fully optimized release build
cargo build --release
# Faster but less optimized build. Necessary if < 16 GB RAM
cargo build --profile release-lite
构建说明:您可以将 RUSTFLAGS
设置为为您的本地 CPU 构建二进制文件
RUSTFLAGS="-Ctarget-cpu=native"
或在 ./cargo/config
中取消注释这些行
# [build]
# rustflags = ["-Ctarget-cpu=native"]
测试
运行测试
cargo test testnet -- --test-threads=1
使用 nextest 并行运行所有单元测试
注意,这通常需要几分钟
cargo nextest run
运行测试网
您可以通过运行以下命令在本地观察状态机的工作情况
cd testnet/stacks-node
cargo run --bin stacks-node -- start --config ./conf/testnet-follower-conf.toml
在 Windows 上,如果行结束符不是 LF
,则许多测试将失败。请确保您在克隆存储库时已将 git 的 core.autocrlf
设置为 input
,以避免任何潜在的问题。这是由于 Clarity 语言目前对行结束符敏感。
发布流程
Stacks区块链的发布流程定义在这里:点击查看
进一步阅读
您可以通过访问Stacks网站并查看文档来了解更多信息。
您还可以阅读技术论文
版权和许可
代码和文档的版权归stacks.org所有。
本代码采用GPL v3许可发布,文档采用Creative Commons许可发布。
依赖关系
~7-22MB
~301K SLoC