查看原文
其他

开启您的互联网计算机开发之旅

Dfifans Internet Computer 2023-10-30


在新平台上开发或使用新语言可能看起来令人畏惧或不知所措,这就是为什么互联网计算机协议(ICP)旨在使整个 Web 应用程序的创建和部署变得无缝、安全且可扩展,对于新开发人员来说,对互联网计算机的体系结构、功能、工具和工作流程有坚实的基础了解非常重要。
有时,找到自己的最佳起点可能是一个挑战,这就是为什么我们整理了一系列清晰、全面的教程,为开发人员提供一条精心策划的路径,涵盖从 IC 的基本概念到集成到应用程序的最高级功能的所有内容。


介绍开发者之旅
今天,我们很高兴地宣布这个新的教程系列,称为互联网计算机开发人员之旅!开发者之旅将包含总共 36 个书面教程,涵盖从 ICP 架构到本地部署您自己的 SNS 的所有内容。
对于每个书面教程,都会有一个相应的视频,逐步介绍文档教程中显示的内容和步骤,在 0 级之后,每个教程都包括编写和部署容器来演示教程中介绍的概念。
这 36 个教程分为 6 个级别,每个级别的内容在技能级别上都有所提高,建立在前一级别所涵盖的信息的基础上,每个级别的名称都使用宇航员主题来描述该级别在旅程中的位置。
例如,第 0 级,即第一个级别,称为飞行前操作级别,因为它涵盖了开发人员在开始之前应了解的先决信息,类似于宇航员发射进入太空之前采取的飞行前步骤。
第 5 级,即最后一个级别,称为宇航员级别,因为完成该级别后,您将完成开发者之旅系列,并拥有成为 IC 宇航员所需的所有技能!
目前,级别 0、1 和 2 的书面文档可在 IC 开发人员文档中找到,并且与模块 “0.1:互联网计算机概述”相对应的第一个视频可在 DFINITY YouTube 频道上找到。
新视频将每周定期发布,其余文档将在接下来的几个月内发布。
让我们更深入地了解每个级别以及每个级别的组件。


第 0 级:飞行前操作
在入门级,开发者之旅首先了解互联网计算机的架构及其工作原理,包括作为 IC 开发基础的基本术语和工具,具体来说,该级别包括 IC 和相关术语的概述、开发环境的设置以及编程语言、工具和容器的介绍。
0.1 互联网计算机概述:在开发者之旅的第一阶段,读者将通过基本组件的概述来熟悉 IC,例如:
  • 互联网计算机协议堆栈的概述,包括点对点层、共识层、消息路由层和执行层
  • 链密钥密码学概述
  • 容器和智能合约概述
  • 代币和 Cycles 概述
  • 通过 NNS 和 SNS 进行治理的概述
  • IC 的互联网身份验证服务概述

0.2 互联网计算机术语:在本模块中,向开发人员介绍一些关于 IC 最常用的术语,例如:
  • 涉及不同概念的术语,例如参与者、代理、认证变量、委托人、提案和副本;

  • 专门与容器相关的术语,例如容器开发套件、容器状态、控制器、查询、状态更改和钱包

  • 描述不同工具和产品的术语,例如 dfx、ledger 和 Motoko。

0.3 开发人员环境设置:在下一个模块中,将引导开发人员设置本地开发人员环境,为了在 IC 上进行开发,开发人员环境包括 IC SDK、代码编辑器、git、Node.js 和命令行界面等工具。
0.4 容器简介:容器是在 IC 上开发应用程序的核心,本模块介绍容器是什么、其架构,并讨论可以开发的不同类型的容器。
0.5 语言简介:在本页中,我们讨论可用于开发 dapp 的不同语言,并提供两种主要支持的语言的基础级介绍:Motoko 和 Rust。
0.6 dfx 简介:dfx 是 IC SDK 的 DFINITY 命令行执行环境,它是用于在互联网计算机上创建、管理和部署 dapp 的主要工具,本模块涵盖 dfx 的基本用法和语法,升级到最新版本,并探讨使用 dfx 创建的新项目使用的默认项目模板。


第 1 级:太空学员
在太空学员级别,开发人员首先查看部署到 Motoko 游乐场的现场演示 dapp,开始亲自创建 dapp,然后,对 Motoko 进行全面介绍,帮助开发人员为该级别的其余部分(包括编写、部署和管理容器)做好准备。
1.1 探索实时演示:在开始开发 dapp 之前,本模块探索一个实时部署的容器,该容器通过 “dfx deploy — Playground” 命令利用 Motoko Playground。
1.2 Motoko 1 级:该模块通过介绍 Motoko 语法、基本概念和术语以及简单的功能(例如声明参与者、打印值和传递文本参数)来介绍 Motoko。
1.3 开发您的第一个 dapp:在本教程中,开发人员在互联网计算机上创建他们的第一个 dapp,该计算机提供了一个带有前端容器和后端容器的简单民意调查 dapp。
1.4 获取和使用 Cycles:为了在 IC 主网上部署 dapp,我们需要获取 Cycles,Cycles 用于支付 IC 上容器的资源费用,本模块介绍如何获取和使用 Cycles。
1.5 部署容器:本模块详细介绍了如何将 dapp 部署到 IC 主网。
1.6 管理容器:在此模块中,涵盖了各种容器管理功能,例如如何获取有关容器的信息、管理容器的控制器身份、Cycles 填充容器以及删除容器。


第 2 级:太空探索者
在开发人员之旅的这一阶段,重要的是要涵盖更高级的容器概念和工作流程,例如容器升级、高级容器调用和第三方容器,此级别还介绍了 Candid(一种界面描述语言)和单元测试。
2.1 容器升级、存储和持久性:当容器的代码需要更改时,必须升级容器,在本教程中,除了容器升级之外,还介绍了稳定存储和稳定变量等内存类型。
2.2 高级容器调用:此模块介绍高级容器调用,例如查询和更新调用、复合查询以及容器间调用。
2.3 使用第三方容器:对于某些工作流程,使用第三方容器并将其与 dapp 集成对于提供身份验证等功能非常重要,本模块涵盖使用命令 “dfx pull” 来利用第三方容器。
2.4 Candid 简介:Candid 是一种接口描述语言,对 IC 特性有独特的支持,在本教程中,将讨论 Candid 类型、值和服务描述。
2.5 单元、集成和端到端测试:在将代码投入生产之前对其进行测试是开发过程中的重要步骤,在本教程中,涵盖了单元测试、端到端测试和集成测试。
2.6 Motoko 2 级:在开发者之旅的第二个 Motoko 教程中,讲授了 Actor 类型、Actor 类、共享函数、异步数据以及使用多个 Actor。


第 3 级:太空工程师
开发者之旅的第四级涵盖了各种开发工具,例如 HTTPS 外呼、包管理器、认证数据、代理和身份。
3.1 Motoko 包管理器:本教程介绍包管理器 Mops 和 Vessel。
3.2 使用 HTTPS 呼出:HTTPS 呼出可用于使用 “GET” 和 “POST” 请求从外部 API 检索数据,本教程提供了两种类型请求的示例。
3.3 认证数据:本模块讨论什么是认证数据、如何认证数据以及如何使用认证变量。
3.4 代理简介:代理可用于与容器的 API 进行交互,在代理简介中,解释了代理如何工作、代理做什么以及如何使用 JavaScript 代理。
3.5 身份和身份验证:在互联网身份上进行开发时,开发人员使用和交互的身份和身份验证方法有多种类型,本指南重点关注互联网身份,并提供了如何将互联网身份集成到示例 dapp 中的示例。
3.6 Motoko 3 级:在第三个 Motoko 部分中,讨论了主体和调用者识别、模式匹配、周期性计时器和访问控制。


第 4 级:太空飞行员
在太空飞行员级别,开发人员需要了解互联网计算机上的去中心化金融功能以及如何将它们集成到 dapp 中,这一级别还涵盖 IC 的治理(称为 NNS)。
4.1 使用 ICP 账本:为了开始了解 IC 的 DeFi 功能,我们从 ICP 账本以及如何在主网和本地与其进行交互开始。
4.2 ICRC-1 令牌:本指南涵盖令牌标准 ICRC-1、如何创建 ICRC-1 令牌以及如何使用 XRC 容器。
4.3 ckBTC 和比特币集成:ckBTC 是 BTC 的数字孪生代币,使用链密钥加密技术在 IC 上创建,本指南介绍了该代币以及如何创建 ckBTC dapp。
4.4 NNS 治理和质押:IC 由称为网络神经系统(NNS)的 DAO 进行治理,本指南介绍了如何使用 NNS 实现治理,以及开发人员如何通过质押代币参与 NNS。
4.5 使用 Quill:Quill 是一个简约的 CLI 工具,可用于与 ICP 账本和治理机构(例如 NNS 或 dapp 的 SNS)进行交互,本指南涵盖 Quill 的基本用法。
4.6 Motoko 4 级:在 Motoko 指南的最后一部分中,介绍了 Motoko 的可变状态、消息检查、本地对象和错误功能。


第 5 级:互联网计算机宇航员


在开发者之旅的最后一步,开发者将探索并创建 dapp,展示 IC 上一些最先进的开发工作流程,这些示例为开发人员随后构建自己的自定义 dapp 提供了坚实的基础。
5.1 使用 vetKD 加密笔记 dapp:此示例展示了 vetKeys 加密功能,vetKeys 允许开发人员在 IC 上构建 dapp 时加密、解密和签名信息。
5.2 ICP ETH 集成 dapp:为了展示互联网计算机的 ETH 集成,本指南解释了如何构建一个简单的 dapp 来显示集成的功能。
5.3 创建去中心化交易所:去中心化交易所用于购买和转让代币,例如 ICP,本教程展示了如何创建您自己的去中心化交易所。
5.4 创建 NFT:本模块详细介绍了如何使用 ICRC-7 标准在互联网计算机上创建 NFT。
5.5 创建 SNS:作为本系列的最后一个代码教程,本指南教开发人员如何为其 dapp 创建和启动 SNS,从而允许 dapp 由 DAO 管理。
5.6 后续步骤:为了结束开发者之旅,本指南将引导您完成接下来要采取的步骤,因为您是一名互联网计算机宇航员!接下来的步骤包括如何申请开发者补助金或在哪里找到开发者赏金等,它还提供了如何与 IC 开发者社区进一步互动的资源。


今天就开始编码吧!
今天,您可以通过在 DFINITY YouTube 频道上观看该系列的第一个视频(或者观看本文开头的视频)来开始学习开发人员之旅教程系列,或者您也可以按照互联网计算机开发人员文档上的书面文档进行操作。
如果您对开发者之旅有反馈或疑问,请加入开发者论坛上的对话或在社区 Discord 服务器中与 ICP 开发者聊天。
在 X 上关注互联网计算机的技术发展@DFINITYDev
开发者论坛forum.dfinity.org
Discord 服务器discord.com/invite/jnjVVQaE2C


来源:DFINITY翻译:Catherine

-              -


DFINITY 和游戏的去中心化未来:TG 采访 Dominic Williams

DFINITY 基金会与 TGC 的合作彻底改变了去中心化互联网上的游戏

互联网计算机上的 WebAssembly





你关心的 IC 内容

技术进展 | 项目信息 | 全球活动



长按关注 IC 微信公众号

掌握最新资讯


*添加小助手微信 comiocn 进交流社群


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存