Dfinity离上线不远了?新发布的Motoko编程语言和Canister SDK了解下_TER:STE

曾在3轮融资中共获得1

;}Motoko语言对互联网计算机软件Canister有原生支持,这些软件Canister表示为actor、封装其状态并通过异步消息进行通信的自治对象。2、以直接样式顺序编码actorFactorial{varlast=1;publicfuncnext():asyncNat{last*=(awaitCounter

}在互联网计算机上,软件Canister会异步调用其它Canister,但Motoko语言能够使你以直接样式顺序编程你的系统。异步消息是返回future的函数调用,await结构则允许链接调用,就好像它们是同步的一样。3、Modern类型系统typeTree<T>={\n#leaf:T;\n#branch:{left:Tree<T>;right:Tree<T>};\n};funciterTree<T>(tree:Tree<T>,f:T->()){\nswitch(tree){\ncase(#leaf(x)){f(x。;\ncase(#branch{left;right}){\niterTree<T>(left,f);\niterTree<T>(right,f);\n};\n}\n}Motoko语言的设计对于熟悉Javascript和其他流行编程语言的人来说是非常直观的,但是它具有现代语言特征,比如完备的结构类型、泛型、变体类型以及核实模式匹配。4、自动生成IDL文件serviceCounter:{inc:()->(nat);reset:()->();}SDK会导出你的接口定义,因此其它Canister、浏览器驻留代码以及具有权限的智能手机应用可调用你的函数。Motoko编译器还可读写接口定义文件,允许Motoko与使用其它编程语言编写的Canister进行无缝交互。5、正交持久性importDict="mo:dict";actorRegistry{\ntypeId=Nat64;\nletdict=Dict<Id>();\npublicfuncregister(name:Text,id:Id){\ndict.insert<Id>(name,id);\n};\npublicfunclookup(name:Text,id:Id):async?Id{\ndict.lookup<Id>(name);\n};\n}互联网计算机会保留Canister运行的寄存器页。因此,参与者及其所有寄存器数据结构的状态将无限期地存在,不需要显式地“保存”它们。Motoko提供了很多功能来帮助你利用这个环境,包括允许你在升级Canister软件时实现自迁移的语言功能。另外,Motoko还提供了很多很酷的功能,包括对WebAssembly虚拟机的深度支持,其允许你使用其它语言编写的模块链接到你的Canister中。想要了解DfinitySDK更多的信息?你可以看这里:https://sdk.dfinity.org/developers-guide/quickstart.html关于Motoko语言的?你可以看这里:https://sdk.dfinity.org/language-guide/index.html

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-4:476ms