paint-brush
认识 Gno.land:将增进我们对世界的理解的智能合约平台经过@gnoland
271 讀數

认识 Gno.land:将增进我们对世界的理解的智能合约平台

经过 Gno.land6m2023/07/14
Read on Terminal Reader

太長; 讀書

Gno.land 是一个 Layer 1 智能合约平台,由 Cosmos 联合创始人兼 Tendermint 创始人 Jae Kwon 发明。它使用编程语言 Gnolang (Gno),这是广泛使用的 Golang (Go) 语言的解释版本,来解决区块链领域的许多问题,例如易用性和可访问性。 Gno.land 使用新颖的共识机制“贡献证明”,旨在彻底改变开源奖励,确保贡献者获得公平和可持续的奖励。
featured image - 认识 Gno.land:将增进我们对世界的理解的智能合约平台
Gno.land HackerNoon profile picture

什么是 Gno.land?

Gno.land 是由 Cosmos 联合创始人兼 Tendermint 创始人 Jae Kwon 发明的第 1 层智能合约平台,旨在解决区块链领域的多个问题,特别是智能合约编程平台的易用性和直观性。


除了提供任何其他智能合约平台所没有的简洁性、可组合性、表现力和完整性之外,我们的目标是挑战我们今天生活的信息审查制度。


通过使用编程语言 Gnolang (Gno),这是广泛使用的 Golang (Go) 语言的解释版本,使用 Go 编写的最先进的 VM,我们希望降低进入 web3 的门槛,并使开发人员(特别是现有的 web2 开发人员)可以轻松编写智能合约和其他区块链应用程序,而无需学习受设计限制或仅限于单一区块链生态系统的编程语言。

Gnolang (Gno) 对于更广泛采用 Web3 至关重要

为了让 web3 以可持续的方式发展,我们需要专为区块链设计的技术解决方案,以及普遍采用、安全、可组合和完整的编程语言。


目前用于创建智能合约的主要编程语言 Solidity 仅为一个目的(编写智能合约)而设计,缺乏通用语言的完整性。


Solidity 消除了区块链编程所需的许多复杂性(例如内存管理、确保代码是确定性的以及了解整个技术堆栈的实现方式),使开发人员能够快速构建简洁的智能合约。


然而,Solidity 仅用于 EVM 兼容区块链(如以太坊、Polygon 或 EVMOS)上的智能合约,其设计受到 EVM 的限制。


此外,如果开发人员想要了解整个堆栈或跨不同生态系统工作,则必须学习多种语言。


另一方面,Go 是一种设计良好的完整编程语言,其基础基于可组合结构,由 Plan 9 的创建者设计。


这使得开发人员能够快速加速应用程序开发,并通过重用和重新组装现有模块来采用模块化结构,而无需从头开始构建。


他们可以以直观的方式将一种结构嵌入另一种结构,同时保留本地化,并且语言规范简单,成功地平衡了实用性和极简主义。


Go 被广泛使用,尤其是在现有的 web2 开发人员中。它更容易学习,几乎可以用来编程任何东西,例如 GoEthereum 或 Tendermint。


Gno.land 堆栈的每个部分都是用 Go 编写的,因此一个人只需学习相对较小的代码库就可以理解整个系统。


Go 语言的设计如此之好,以至于 Gnolang 智能合约系统将成为智能合约开发和其他区块链(甚至非区块链)应用程序的新黄金标准。

安全性是 Go (Golang) 的内置功能

除了对象嵌入、闭包、模块导入、程序可组合性以及允许您实现一组特定功能的接口之外,Go 通过导出/非导出字段支持安全编程,从而实现“最小权限”设计。


创建对象和 API 很容易,这些对象和 API 只公开调用者应该访问的内容,同时隐藏不应简单地通过大写字母访问的内容,从而允许多个用户调用的安全逻辑的简洁表示。


Go 的另一个主要优点是该语言附带了一个包含出色工具的生态系统,例如编译器和静态分析代码的第三方工具。


Gno 直接继承了 Go 的这些优点,创建了一种安全的智能合约编程语言,帮助开发人员编写安全的代码,依靠编译器、解析器和解释器对常见错误进行警告警报。

Gnolang (Gno) 与 Golang (Go) 有何不同
Go 和 Gno

图 1:Gnolang - 类似于 Go,但特定于区块链


Gno 与 Go 大约 99% 相同,大多数人从第一天甚至第一分钟就可以使用 Gno 进行编码。 Gno.land 编程环境附带了区块链特定的标准库,但任何不使用区块链特定逻辑的代码都可以在 Go 中运行,只需最少的处理。


另一方面,一些在区块链环境中没有意义的库在 Gno.land 编程环境中不可用,例如网络或操作系统访问。


除此之外,Gno 加载并使用许多为 Go 提供支持的标准库,因此大多数源代码的解析都是相同的。


在底层,Gno 代码被解析为抽象语法树 (AST),并且 AST 本身在解释器中使用,而不是像 Java、Python 或 WASM 等许多虚拟机中那样使用字节代码。


这使得任何 Go 程序员都可以访问 Gno VM。 Gno VM 解释器的新颖设计允许 Gno 通过保存和加载整个内存状态来冻结和恢复程序。


这使得(智能合约)程序变得简洁,因为程序员不必序列化和反序列化对象来将它们保存到数据库中(与使用 Cosmos SDK 编程应用程序不同)。


Go/Gno 的可组合性质允许合约之间进行类型检查交互,从而使 Gno.land 更安全、更强大,并且操作更便宜、更快。


Gno.land 上的智能合约将是轻量、简单、更专注且易于互操作的——一个相互关联的合约网络,而不是限制与其他合约交互的孤立的整体。


Gnolang 代码示例

图 2:Gno 编程语言的代码片段


今天,Gno.land 是世界上唯一支持 Gno 的区块链实例,但明天,将会有许多具有不同名称的链,例如 mydapp.zone 或 mydao.xyz。


Gno.land 是 ONE 链的名称,不会被其他 Gnolang 支持的链使用。 Gno.land 将仍然是一个包含三个主要实用程序的最小中心:


  • 管理跨 Gnolang 链费用/许可证
  • 成为最佳智能合约的官方家园
  • 提供新的治理模型(带有 DAO 模块)

通过贡献证明(PoC)获得奖励

通过 Gno.land 链上的 PoC 获得奖励主要有四种方式:


  • 预定义任务(技术或其他)

  • 预定义的赏金

  • 追溯赏金

  • 核心成员的归属式奖励


赏金奖励(预先定义的和追溯的)将根据“当地规则”,通过 DAO 与链上所有内容的协议来决定,并且是透明的。如果一个人滥用该系统,它就会触发,坏人就会被砍掉。


我们将在下一篇文章中深入探讨如何获得奖励。

提高我们对世界的理解的持久解决方案

我们 Gno.land 项目的灵感之一是福音书,它建立了一个持续数千年的道德准则体系。


Gno.land 的持久力的一部分将是拥有一个最小的生产实施,成为其他实施的参考和教育的基础,以提高人们对区块链的理解。


Gno.land 旨在吸引网络开发人员、dApp 开发人员和区块链构建者创建解决方案,帮助人们增进对世界的理解。


如今,来自不同派系的错误信息层出不穷,让人无法辨别真假。


这会导致陷入僵局。我们生活在一个涵盖从气候变化到全球流行病等所有重要话题的信息审查制度中——这是一种巨大的协调努力,旨在阻止人们了解真相。


仅通过浏览 Reddit、使用 Google 搜索以及浏览 Facebook、Twitter 或 Instagram,人们就被故意误导了我们都应该弄清楚的关键全球问题。


这与世界上任何类型的审查制度一样恶毒——我们需要团结起来挑战它,打破审查制度的围墙,最终实现有效的民主。

Gno.land 当前的发展阶段

Gno.land 目前正在其第三个测试网中运行,在该平台投入生产之前还会有更多测试网。现代文明不是一天建成的,Gno.land 也不会急于承诺确切的发布日期。


Game of Realms 是一项在线激励竞赛,旨在寻找 Gno.land 平台的最佳贡献者,现已开放并处于第一阶段,构建核心基础设施和工具来为该链提供动力。


Game of Realms 是一项高风险竞赛,总奖池为133,700 ATOM ,参与者将完成一系列技术和非技术挑战,将链推向新的极限。


如果您有兴趣帮助构建 web3 中最直观的智能合约平台,同时获得贡献奖励,请立即在此处创建 PR加入。


在我们的网站GitHub 存储库上了解更多信息,或在Twitter上关注我们。您还可以加入我们的Discord 频道上的对话。我们期待您的光临。