查看原文
其他

Demergent Labs:互联网计算机上的 TypeScript、GraphQL 和 Python

DFINITY 2022-07-07


大家好,我想向您介绍我创建的一家名为 Demergent Labs 的新公司,我们的目标是加速 Web3 和互联网计算机的采用,这是一种去中心化的逻辑计算机,由开放协议构建,将由独立实体拥有和运营。


Demergent Labs 正在消除进入壁垒,使开发人员能够非常简单地使用互联网计算机并编写去中心化应用程序,这些应用程序利用其独特的特性和优于集中式云提供商和其他 Layer 1 协议的优势。


我们的论点很简单:通过专注于在 Web2 世界中真正运行良好的技术,我们相信我们可以加速 Web3 的采用,我们还可以极大地改进一些使 Web2 变得伟大的技术(去中心化的 npm 注册表有人吗?)。


我们从三个旗舰项目开始:Azle(TypeScript CDK)、Sudograph(GraphQL 数据库)和 Kybra(Python CDK)。


IC 上的 TypeScript 开发


互联网计算机的基本应用单元称为容器智能合约,容器包含应用程序的代码和状态,用户通过互联网上的简单 RPC 调用与它们交互,基本上,容器公开了可以通过网络请求(如 HTTP)调用的函数。


开发人员可以使用容器以在 WebAssembly 上运行的任何语言在互联网计算机上创建和部署应用程序。


在过去的几年里,大多数开发人员都用 Motoko 编写了他们的容器,Motoko是一种由 DFINITY 基金会创建的新编程语言,或 Rust。许多开发人员不熟悉这些语言,学习一门新语言及其所有细微差别、习语、库、包管理器等可能是一个巨大的摩擦点。


进入 Azle,这是一个容器开发工具包,允许开发人员使用 TypeScript(以及技术上的 JavaScript)编写他们的容器。


这是一个大问题,TypeScript 和 JavaScript 是有史以来最流行的编程语言之一,他们拥有多年的社区、图书馆、文档、YouTube 视频、博客文章、播客和专业知识,价值长达数年(或者在 JavaScript 的情况下,数十年),有数百万 TypeScript 和 JavaScript 开发人员已经喜欢使用 TypeScript 和 JavaScript。为什么要从他们那里拿走它?


DFINITY 基金会为在 IC 上制作 Motoko 和 Rust 一流的语言付出了很多努力,他们做得很好,新兴的社区也非常富有成效,但是使用 Motoko 和 Rust 存在一些挑战。


Rust 是一门非常难学的语言,它是一种系统或低级语言,它使您可以对其运行的环境的许多方面进行极端控制,因此更加笨拙。这是一门我喜欢使用的漂亮语言,但是许多开发人员,尤其是一般编程的新手,在学习 Rust 时会非常困难,高级语言的存在是有原因的。


Motoko 是一种高级语言,它抽象了像 Rust 这样的低级语言的许多困难,这就是为什么开发人员喜欢高级语言,它们更容易使用。但是 Motoko 是一种非常新的语言,它缺乏大型社区、许多库、成熟的文档、YouTube 视频、博客文章、播客,以及通常多年的专业知识。简而言之,它是一种新的语言,这些资源尚未出现。


Azle 提供了 Rust 和 Motoko 的替代方案,这是一个用 TypeScript 和 Azle 编写的简单容器的源代码,它只是一个返回 “Hello World!” 的只读查询函数:



用一个简单的方法将它部署到 ICdfx deploy --network ic 将立即允许世界上任何人调用这个 helloWorld 函数并看到那个漂亮的短语。


以下是作为键值存储的简单容器的源代码:



那是一个数据库人,一个 dfx deploy --network ic,你已经向世界公开了一个简单的数据库。


就这样,您可以体验一下在互联网计算机上使用 TypeScript 和 JavaScript 编写容器的感觉,让我们用一些明智的话来结束我们对 Azle 的讨论:


  • 总是赌 JS。” — Brendan Eich,JavaScript 创建者和 Mozilla 联合创始人


  • 任何可以用 JavaScript 编写的应用程序,最终都会用 JavaScript 编写。” — Jeff Atwood,Stack Overflow 和 Stack Exchange 联合创始人


除了 Azle,Demergent Labs 还致力于为 IC 带来一个无界的 GraphQL 数据库 (Sudograph) 和 Python (Kybra),Azle 和 Sudograph 都处于测试阶段,1.0 预计在 2022 年底(可能更早)发布。


期望将 Sudograph 直接集成到 Azle 中,这个想法是采用您已经为您的应用程序定义的 TypeScript 类型,并生成一个完整的数据库,其中包含复杂的查询、突变、GraphQL 接口等。


它可能看起来像这样:



Azle 不仅会从上述类型生成 Candid,它还会生成 GraphQL 查询和突变及其解析器,允许您以复杂的方式即时持久化和检索数据,而无需自己编写代码。


Kybra 处于开发的早期阶段,但希望不会落后于 Azle 和 Sudograph 太远。这些项目中的每一个都将消除各种 Web2 社区采用的障碍,并使在 IC 上开发去中心化应用程序变得非常简单。


在 Web3 和互联网计算机方面有很多工作要做,在无限可扩展且不可破解的去中心化计算机上运行大规模 Web3 生态系统的梦想是美好的,我们还没有到达那里,但我们正在努力到达那里。


Demergent Labs 还在试验新的知识产权、治理和资助机制,以解决一些自开源软件问世以来就一直困扰着可持续发展的问题。


请以您自己的方式,并以您的技能和才能,帮助我们建立这个令人惊叹的新未来。


敬上


@lastmjs


Demergent Labs


  • github.com/demergent-labs


在 smartcontracts.org 上开始构建,并在 forum.dfinity.org 加入开发者社区。



作者:Jordan Last

翻译:Catherine



-              -


为什么 ORIGYN NFT 旨在赋予创作者权力?

前 Cardano 执行官 Eva Oberholzer 加入 DFINITY 担任首席增长官

XR 基金会:在 Web3 上构建跨链游戏引擎





你关心的 DFINITY 内容
技术进展 | 项目信息 | 全球活动


长按关注 DFINITY 微信公众号

随时答疑解惑


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


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

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