Dfinity(ICP) 部署与开发-2

Dfinity 部署与开发

下载并安装

目前,DFINITY Canister SDK 仅在装有 macOS 或 Linux 操作系统的计算机上运行!

前提条件需要安装 nodejs

直接从本地计算机上的终端 shell 中下载最新版本的 DFINITY Canister 软件开发工具包 (SDK)

sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

此命令会提示您在本地计算机上安装 DFINITY 执行命令行界面 (CLI) 及其依赖项之前阅读并接受许可协议

键入y并按Return继续安装

验证 SDK 已准备好使用

dfx通过运行以下命令,检查您是否安装了 DFINITY 执行命令行界面 (CLI) 并且可执行文件在您的 PATH 中可用

dfx --version
#该命令显示dfx命令行可执行文件的版本信息,类似于以下内容:
dfx 0.7.2

dfx --help
#该命令显示dfx父命令及其子命令的使用信息

创建应用示例

通过dfx命令创建一个名为hello的项目

dfx new hello

dfx new hello命令为您的项目创建一个新的hello项目目录、模板文件和一个Git 存储库

启动本地网络

将项目目录作为在两个终端中的当前工作目录

运行启动命令:

dfx start

让终端保持运行,开启第二个终端窗口

注册、构建和部署应用程序

node必须需要,通过运行以下命令确保模块在您的项目目录中可用

npm install

通过运行以下命令注册、构建和部署您的第一个应用程序

dfx deploy

dfx deploy关于它执行的操作命令输出显示信息。例如,此步骤注册两个特定于网络的标识符——一个用于hello主程序,一个用于hello_assets前端用户界面——以及类似于以下的安装信息:

Creating the "default" identity.
  - generating new key at /Users/pubs/.config/dfx/identity/default/identity.pem
Created the "default" identity.
Creating a wallet canister on the local network.
The wallet canister on the "local" network for user "pubs_user_id" is "rwlgt-iiaaa-aaaaa-aaaaa-cai"
Deploying all canisters.
Creating canisters...
Creating canister "hello"...
"hello" canister created with canister id: "rrkah-fqaaa-aaaaa-aaaaq-cai"
Creating canister "hello_assets"...
"hello_assets" canister created with canister id: "ryjl3-tyaaa-aaaaa-aaaba-cai"
Building canisters...
Building frontend...
Installing canisters...
Creating UI canister on the local network.
The UI canister on the "local" network is "r7inp-6aaaa-aaaaa-aaabq-cai"
Installing code for canister hello, with canister_id rrkah-fqaaa-aaaaa-aaaaq-cai
Installing code for canister hello_assets, with canister_id ryjl3-tyaaa-aaaaa-aaaba-cai
Authorizing our identity (pubs_user_id) to the asset canister...
Uploading assets to asset canister...
  /index.html 1/1 (472 bytes)
  /index.html (gzip) 1/1 (314 bytes)
  /index.js 1/1 (260229 bytes)
  /index.js (gzip) 1/1 (87771 bytes)
  /main.css 1/1 (484 bytes)
  /main.css (gzip) 1/1 (263 bytes)
  /sample-asset.txt 1/1 (24 bytes)
  /logo.png 1/1 (25397 bytes)
  /index.js.map 1/1 (842559 bytes)
  /index.js.map (gzip) 1/1 (228432 bytes)
  /index.js.LICENSE.txt 1/1 (499 bytes)
  /index.js.LICENSE.txt (gzip) 1/1 (285 bytes)
Deployed canisters.

第一次部署时dfx会创建一个default身份和一个由您的default身份控制的本地循环钱包。周期钱包是一种特殊类型的容器,可让您将周期转移到其他容器。

要在本地部署此示例应用程序,您无需了解有关默认开发人员身份、使用周期钱包或管理周期的任何信息。我们稍后将介绍这些主题,但现在,请注意这些主题是自动为您创建的

通过运行以下命令调用hello容器和预定义greet函数

dfx canister call hello greet everyone
  • dfx canister call命令要求您指定容器名称和要调用的方法或函数。
  • hello指定要调用的容器的名称。
  • greet指定要在容器中调用的函数的名称hello
  • everyone是要传递给greet函数的文本数据类型参数。

验证命令显示greet函数的返回值

("Hello, everyone!")

停止网络

停止本地 Internet 计算机网络,使其不会继续在后台运行

要停止本地网络:

  1. 在显示网络操作的终端中,按 Control-C 可中断本地网络进程。

  2. 通过运行以下命令停止在本地计算机上运行的本地 Internet 计算机网络:

    dfx stop
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值