1. Internet Computer IDE 使用流程演示

包括创建项目,部署,交互等操作

1. 新建 Internet Computer 项目

首先进入 ChainIDE 入口页面,点击 Try Now。

这里会选择你的登录方式,有 Github 和 Guest 两种。(选择 GIthub 登录才可使用 Sandbox 功能)

点击 New Project 按钮。

出现一个弹窗,切换至 Internet Computer 栏,选择一个模板创建一个工程,此处以模板Random Maze为例。

2. Workspace 概览

进入工程后,展示当前工程的 workspace。整体上 workspace 可分为以下几部分:

  1. 顶部栏,包括 回退至 Dashboard 按钮、工程名称展示及修改、用户信息

  2. 左侧 Panel,包括 explorer(即文件树)、PLUGIN MANAGER(管理插件)、Port Forward(端口转发)

  3. 右侧 Panel,与合约工程部署交互相关的插件在此处

  4. 底部栏,Welcome 及 Logger 的入口

用户可点击底部 Logger 唤起底部 Panel,以此查看 IDE 日志输出、Terminal、进行 port forward 等

3. 部署项目至 IDE 本地节点

首先用户需要在当前 IDE 中启动一个本地节点,IDE 为用户提供了快捷工具可一键启动本地网络,用户也可以手动打开一个 Terminal,通过 Internet Computer SDK 启动节点。

为了启动的节点能在外部访问,需要指定节点起的IP为 0.0.0.0 以及端口,端口需为未被其他服务占用的端口,如下:

dfx start --host 0.0.0.0:8000

本地节点启动后,在底部 Panel 的 Ports 栏将节点的端口进行对外转发,以便外部能够访问。

在部署项目之前,若当前工程带有package.json模块,则需要先开一个 Node 镜像的 Terminal 进行依赖的安装:

npm install

点击部署时若尚未安装 package,会在 Output 中进行提醒;

切到 Deploy Panel,打开 Deploy,在 LocalNet & TestNet 栏将上述转发的地址粘贴至 Network 中,点击Deploy,等待 Terminal 输出部署信息

部署成功后,IDE 会读取文件列表,从 .dfx 读取当前网络下的 canister_ids.json 文件,生成可交互的canister列表。

如果 Terminal 提示部署成功,Interact 没有生成,请刷新页面,文件同步可能存在延迟。

用户可以通过表单的形式输入参数,点击 Call 来调用已部署的 canister 的方法;也可以点击链接打开canister ui,通过 UI 的形式来访问 canister :

值得一提的是,由于本地节点是临时性的,下次再打开此工程时,上次已部署的 canister 就失效了,应当删除 .dfx 文件.

4. 部署至测试节点

IDE 为所有用户提供了一个 ChainIDE-Test Network ,其IP为 http://34.209.219.32:8000

仍以 Random Maze 工程为例,进入工程后切到 Deploy Panel。打开 Deploy,在 LocalNet & TestNet 栏可以看到 Network 输入栏 默认值为测试节点IP,直接点击 Deploy,等待 Terminal 输出部署信息。

部署成功后,IDE 会读取文件列表,从 .dfx 读取当前网络下的 canister_ids.json 文件,生成可交互的canister 列表。

如果 Terminal 提示部署成功,Interact没有生成,请刷新页面,文件同步可能存在延迟。

用户可以通过表单的形式输入参数,点击 Call 来调用已部署的 canister 的方法;也可以点击链接打开canister ui,通过 UI 的形式来访问 canister :

5. 部署至主网IC

部署至主网需要使用 Internet Computer 官方的 NNS(Network Nervous System),并且其账户上需要有足够的ICP。

1. 在nns中创建canister

见官方教程 NNS App quick startDeploy a canister with cycles一栏;

创建一个具有至少 2T cycles的canister 备用,复制生成的canisterId, 如:mhgjp-7yaaa-aaaag-aaadq-cai

2. 获取本机的 Principal,将其设置为上述 canister 的 Controller

在 IDE 的 Terminal 中获取当前账户的主体标识 Principal :

dfx identity get-principal

用户也可通过 Tools 快捷工具快速获取:

NNS的Canister栏相应的canister中,点击Change Controllers按钮,将Principal添加为上述canisterControllers

3. 应用 canister 部署合约

配置完 controller 之后,还需在当前 Internet Computer 工程中配置 canister_ids.json 文件,设置上述生成的canisterIddfx.json配置的canister的id。IDE为用户提供了快捷配置:

切到 Deploy Panel。打开 Deploy,在 MainNet 栏,点击 Config ,打开弹窗,为 dfx.json 中的 canister挨个配置 canisterId

canister_ids.json 文件配置成功后在MainNet 栏点击 Deploy 进行部署,等待 Terminal 输出主网部署信息。

在 Internet Computer 的dashboard中搜索部署后的canister mhgjp-7yaaa-aaaag-aaadq-cai ,可以看到合约相关信息,说明合约工程已成功部署至主网:

如需同时部署多个canister,则需要在NNS中创建对应的canister,并在canister_ids.json中配置

Last updated