Web开发

首页 » 常识 » 问答 » Dfinity开发笔记一基础知识
TUhjnbcbe - 2021/6/30 23:13:00

1、应用执行环境结构:

p2p层——共识层——消息路由层——执行层

开发者将应用部署(编译为WebAssembly)后,在执行层容器中运行。

开发时,可以在本地运行。部署到主网时,程序在互联网计算机上运行。

2、应用运行机制:源代码编译为WebAssembly模块,部署到互联网计算机(IC)的容器(Canister)中。

容器包括程序和状态、用户交互记录。

用户通过入口点接口调用程序,包括查询调用和更新调用。

查询调用:查询状态变量值;同步得到结果;可以只对单个节点查询状态(确认性问题);暂时不能间接调用(穿透调用)。

更新调用:更新状态变量值;异步得到结果;可以间接调用。

3、如何开发应用:

应用开发者要平衡安全性和性能效率。

使用编程语言Motoko:

?类型安全、模式匹配

?使用actor对象:actor间分离状态、异步处理;每个项目可以包含多个Canister,但是每个Canister只能包含一个actor

?使用async和await语法来处理异步

?自动支持消息序列化和反序列化

?无需外部数据库和存储盘

?支持大整数运算,溢出保护

?自动检查所有变量类型错误

?支持函数抽象、自定义类型、自定义actor

4、身份认证用户调用canister:私钥用于签名,公钥和签名消息发送给容器。一个用户有一个标识,可以有多个公私钥对。

canister调用canister:canister已经在IC上有注册的身份标识。

5、资源使用:

CPU用于执行

带宽用于信息传递

内存用于永久数据存储

canister包含一个账户(资产为cycles)用于支付以上这些成本。设置消耗限制可以防止恶意代码消耗成本

6、安装

sh-ci"$(curl-fsSL

1
查看完整版本: Dfinity开发笔记一基础知识