0.1.1 |
|
---|
#4 在 #dfx
395KB
494 行
IC SDK
本仓库包含 IC SDK
:用于在互联网计算机(ICP区块链)上创建和管理 canister 智能合约的软件开发工具包。.
进一步阅读
安装内容
IC SDK
安装脚本在您的本地计算机的默认位置安装了几个组件。以下表格描述了安装脚本安装的开发环境组件
组件 | 描述 | 默认位置 |
---|---|---|
dfx | 命令行界面 (CLI) | /usr/local/bin/dfx |
moc | Motoko 运行时编译器 | ~/.cache/dfinity/versions/<VERSION>/moc |
replica | 互联网计算机本地网络二进制文件 | ~/.cache/dfinity/versions/<VERSION>/replica |
uninstall.sh | 用于删除SDK及其所有组件的脚本 | ~/.cache/dfinity/uninstall.sh |
versions | 包含每个SDK版本子目录的缓存目录。 | ~/.cache/dfinity/versions |
SDK 与 CDK 与 dfx
以上有几个组件值得详细介绍
-
dfx -
dfx
是IC SDK
的命令行界面。这就是为什么许多IC SDK的命令都以命令 "dfx ..
" 开始,例如dfx new
或dfx stop
。 -
容器开发工具包(CDK) - CDK 是 IC SDK 用于实现编程语言创建和管理容器所需功能的适配器。IC SDK 已经为您安装了一些 CDK,以便您可以使用您喜欢的语言使用它们。这就是为什么有 Rust CDK,Python CDK,TypeScript CDK 等原因... 由于 CDK 是 SDK 使用的组件,一些开发者选择直接使用 CDK(不使用
IC SDK
),但通常作为整个IC SDK
部分使用。
入门指南
安装
您可以通过几种不同的方式安装 IC SDK
。
通过 curl
(推荐)
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
此命令将安装与您的操作系统兼容的二进制文件,并将其添加到 /usr/local/bin
。
通过 GitHub 发布
在此 处 找到适合您架构的发布版。
在 GitHub Action 中,使用 dfinity/setup-dfx
steps:
- name: Install dfx
uses: dfinity/setup-dfx@main
获取帮助
安装 IC SDK
后,通过输入来熟悉其功能。
dfx help
为 DFINITY SDK 贡献
请参阅我们的贡献指南 此处。
构建 IC SDK
构建 IC SDK
非常简单
cargo build
发布流程
IC SDK
以两个步骤发布
-
发布一个新的
IC SDK
发布版。 -
发布一个新的
manifest.json
和install.sh
,以指导安装程序实际下载和安装新的IC SDK
发布版。
发布 IC SDK
-
发布经理确保
dfx
stable
分支指向应发布的修订版,并且修订版带有版本标签(如0.5.6
)。 -
在 Hydra 上的
sdk-release
作业集跟踪stable
分支,并在stable
分支推进后不久开始评估。 -
如您所见,它只有一个作业
publish.dfx
,该作业在 此处 定义为dfx
作业。请注意,只有当修订版具有适当的版本标签时,publish.dfx
作业才存在。这防止了未标记修订版的发布。 -
我们的CD系统在
deployer.dfinity.systems
上运行,配置了publish-sdk-dfx-release
任务。它将监视上述的publish.dfx
任务的新构建,每当有新构建时,它将下载输出(CD脚本)并执行。 -
如您所见,脚本还会向
#build-notifications
Slack频道发送消息,这样您就可以看到SDK是否已发布以及发布的时间。
发布manifest.json
和install.sh
IC SDK发布后,它可供下载,但位于https://sdk.dfinity.org/install.sh的安装脚本不会立即安装它。为了确保安装程序实际上下载并安装了新的IC SDK
版本,位于https://sdk.dfinity.org/manifest.json的manifest.json
文件必须将其tags.latest
字段设置为新的版本。以下说明了如何进行操作。
-
编辑
public/manifest.json
文件,使其指向新的IC SDK
版本,并确保它在master
中合并。 -
类似于发布
IC SDK
,还有一个install-sh
任务,它会构建CD脚本来将manifest.json
和install.sh
发布到我们的CDN。 -
这个任务基于跟踪
master
分支的sdk
作业集。 -
deployer.dfinity.systems
配置了publish-sdk-install-sh
任务,该任务将监视上述的publish.install-sh.x86_64-linux
任务的新构建,每当有新构建时,它将下载输出(CD脚本)并执行。
故障排除
本节提供了解决您在使用IC SDK
通过dfx
命令行时可能遇到的问题的方案。
项目重置
此命令将删除构建目录并重新启动您的副本。
dfx stop && dfx start --clean --background
在本地使用Internet Identity
您可以通过克隆https://github.com/dfinity/internet-identity将Internet Identity canister部署到您的副本中,与项目一起使用。从internet-identity
目录中,运行以下命令
II_ENV=development dfx deploy --no-wallet --argument '(null)'
有关更多信息,请参阅https://github.com/dfinity/internet-identity#running-locally。
依赖关系
~30–47MB
~861K SLoC