dfinity/ic
GitHub: dfinity/ic
Internet Computer 区块链协议的 Rust 核心实现,提供节点 replica 软件及完整的 IC-OS 构建与可复现性验证系统,支撑以 Web 速度运行且可无限扩展的去中心化计算网络。
Stars: 1756 | Forks: 398
= Internet Computer Protocol (ICP)
:toc: macro
ifdef::env-github[]
++++
# 通过 git 提交验证
## curl -fsSL https://raw.githubusercontent.com/dfinity/ic/{COMMIT_ID}/ci/scripts/repro-check | \
python3 - -c {COMMIT_ID}
=== 特定组件验证
您可以单独验证特定的组件:
## [source,bash]
# 仅验证 GuestOS
curl -fsSL https://raw.githubusercontent.com/dfinity/ic/{COMMIT_ID}/ci/scripts/repro-check | \
python3 - -c {COMMIT_ID} --guestos
# 仅验证 HostOS
curl -fsSL https://raw.githubusercontent.com/dfinity/ic/{COMMIT_ID}/ci/scripts/repro-check | \
python3 - -c {COMMIT_ID} --hostos
# 仅验证 SetupOS
## curl -fsSL https://raw.githubusercontent.com/dfinity/ic/{COMMIT_ID}/ci/scripts/repro-check | \
python3 - -c {COMMIT_ID} --setupos
== 贡献
=== 网络神经系统
感谢您抽出时间了解有关 Internet Computer Protocol 的更多信息。您可以为其中任何一个做出贡献,但需要注意的是,Internet Computer 由一个名为网络神经系统 (NNS) 的去中心化系统管理。您可以在此处了解更多信息:
- https://medium.com/dfinity/understanding-the-internet-computers-network-nervous-system-neurons-and-icp-utility-tokens-730dab65cae8[Understanding the Internet Computer’s Network Nervous System, Neurons, and ICP Utility Tokens]
- https://github.com/dfinity/nns-proposals[List of NNS Proposals]
=== 开源政策
DFINITY Foundation 向公众公开了 Internet Computer 的代码。
这一点非常重要,这样社区就可以审查定义 Internet Computer 行为的代码。此外,社区将能够构建代码,并验证其是否派生自通过网络神经系统 (NNS) 发布的升级提案中引用的相同二进制映像。
Internet Computer 的所有代码均根据 Apache 2.0 许可证授权,少数组件除外,它们根据 link:licenses/IC-1.0.txt[Internet Computer Community Source License] 和 link:licenses/IC-shared-1.0.txt[Internet Computer Shared Community Source License] 授权,这些许可证比 Apache 2.0 许可证更具限制性,以保护 DFINITY Foundation 的知识产权 (IP)。
=== 提交新的贡献
我们很快将接受外部贡献(日期待定)。请遵循以下指南 link:CONTRIBUTING.md[CONTRIBUTING.md]
=== Bug 报告
如果您发现任何错误和漏洞,请遵循 link:SECURITY.md[SECURITY.md] 中概述的程序
=== Rust 依赖策略
为了使单一存储库 (mono repository) 取得成功,需要制定一些基本规则以加快开发速度。
* 添加新的外部 crate 依赖项时,请确保它是必要的。请检查
** 是否没有另一个已导入且具有类似功能的 crate。
** 该 crate 是否得到了良好的维护,并且来自信誉良好的作者。
* 更新外部 crate 的语义版本时,请对整个代码库进行统一更新。避免导入同一 crate 的多个版本。
* 保持 Bazel 和 Cargo 的 rust-lang 为最新版本。
* 使用 Cargo 工作区来推断外部 crate 版本,方法是将新 crate 添加到工作区 `Cargo.toml` 的 `[workspace.dependencies]` 部分,并将 `new-crate = { workspace = true }` 添加到需要它的每个特定包的 `Cargo.toml` 中。
标签:DApp, DKG, ICP, Internet Computer, Layer 1, NNS, Rust, TCP/IP, Web3, 互联网计算机, 代币经济学, 公链, 共识算法, 分布式密钥生成, 分布式账本, 区块链, 区块链协议, 去中心化, 去中心化应用, 可视化界面, 容器, 智能合约, 源代码, 网络流量审计, 网络神经系统, 节点软件, 逆向工具, 通知系统