æternity MiddleWare(中间件)简介

medium 2019-12-06 15:28:14

æternity 是区块链基础设施提供商之一,它非常重视去中心化应用的研发和用户友好性。æternity 社区不仅努力为用户提供最佳体验,也为创建这种新型应用程序(被称为 æpps )的开发人员提供最佳体验。这就是 æternity 生态系统享有许多有用工具的原因,这些工具包括:

  • Fire Editor,一个易于使用的 Web-IDE ,用于编写 Sophia 智能合约;

  • AEProject,一个便于编写 Sophia 智能合约的开发框架;

  • 多语言 SDK,支持 JavaScript、Java、Elixir、Go 和 Python;

最后但并非最不重要的是中间件,它支持更快地访问节点信息、区块链历史记录、其他查询等。

本文的重点是介绍中间件。让我们开始吧。

æternity 的中间件-它是什么,为什么你应该关心它?

与 æternity 的交互越容易,那么使用它的开发人员就越多,从而增加被更多主流社区所认可的机会。在仔细考虑实现这一点的方法时,开发人员社区提出了中间件的想法。

“中间件”是一个位于节点前面的服务器进程。因此,可以在不影响节点工作的情况下去查询区块链。节点在提供查询信息方面效率低得多,这影响了开发人员的使用体验。

之所以开发 æternity 中间件,主要是以下四个主要原因:

更快地访问节点信息:是的,开发人员也可以直接查询节点,但在中间件的帮助下,效率会高得多。

额外的查询:它不仅可以节省时间,还可以运行更多的信息查询(意味着大量有用的新信息可供您使用)。

在 PostgreSQL 数据库中存储区块链历史:没有什么比复杂的导出/导入到其他系统更烦人的了。中间件将使这一切变得尽可能简单。

探索事务、、状态通道、oracles、名称、合约等。

那么,中间件可以为 æternity 的用户和开发人员提供什么呢?

你应该如何去使用它呢?

获取通知

如果你是一名开发人员,你可能不想一直去轮询区块链。这可能是乏味和恼人的。有一个解决方案。中间件提供了 WebSocket API ,你可以订阅感兴趣的事件。每次发生特定的事件时,你都会自动收到通知。

使用案例包括但不限于:

  • 寻找对 oracle 的查询,可能会生成响应;

  • 被通知调用智能合约;

  • 查找特定帐户的交易记录。

开发人员可以访问  Websocket Interface 学习如何使用订阅功能。

运行中间件(可信任的)

中间件非常轻量级,对硬件的要求很低。任何人都可以运行它。有两种可用的操作模式:

population:将区块链加载到数据库中。

serving:公开数据库。

考虑到为了使中间件变得更加易用,æternity 托管了自己的实例,非常欢迎您去使用。但是,如果您不愿意信任所提供的内容,您可以运行它并亲自验证数据。

如果您想了解更多关于中间件安装的信息,请参考 GitHub 中的相关文档

编程接口:非常好用,小孩子都能理解并使用

正如列奥纳多·达·芬奇(Leonardo Da Vinci)曾经说过的那样,“简单是终极的复杂”。

这句话完美地描述了中间件的接口。您可以在这里访问区块链资源管理器。

如果您不熟悉这个概念,区块链资源管理器就像区块链浏览器。您可以使用它来获得以代码形式交付的信息的图形表示。

大多数人使用区块链浏览器来跟踪事务。然而,由于 æternity 协议具有23种不同类型的协议,因此需要考虑的信息要多得多。

交易记录

在中间件的帮助下,用户可以很方便的查看发送者、接收者、区块高度、交易金额、手续费等相关信息。任何在 AE 主网上的交易都可以查询到。

Generations

在 generations 部分,用户可以查看当前的 Key Block 高度,以及相关的交易记录、微块(Microblocks)、

、Key Block age 及 目标数据等信息。

通道

中间件可以让用户从当前处于开启的状态通道处接收消息。通过将交易和智能合约执行从主网上分离,状态通道极大的改善了 AE token 的可扩展性和匿名性。一旦通道打开,用户就可以发起免费的、及时的 token 转账交易。同时,也可以完全私有的执行智能合约。

中间件的 channels 部分展示了各自的通道ID,你可以点击通道ID查看更多的信息(比如创建者、响应者、随机数等等)

合约

AE 最有特色的就是它的智能合约和运行智能合约的高效虚拟机(FATE)。在中间件的帮助下,任何人都可以查看主网上可用的智能合约。点击智能合约的ID可以查看更多的合约相关信息,包括哈希、签名、调用数据、代码、虚拟机版本、ABI 版本、版本等信息。

名称和名称拍卖

大部分的区块链都用哈希值来标志区块链上的实体(entities),对用户来说,一串哈希值不是那么友好。

AE 使用 AENS 来解决这个问题。通过去中心化的、可信的、安全的拍卖(基础账户管理系统),用户可以获得一个你想要的特定的名称。所有的名称都以 .chain 扩展结尾,可以指向钱包、智能合约、oracles、状态通道等。

中间件展示了目前 AE 拥有的所有名称信息。

获取一个名称的流程和给你的网址注册一个域名类似。在 æternity 中,如果另外一个用户想要你正在注册的名称,那么他可以通过发起一个拍卖来提供一个更高的价格。拍卖是基于时间进行的,持续时间基于名称的长度。长名称几乎可以立即注册,而短名字的注册时间要长得多。一旦时间过去,名字登记在最高出价人的帐户。所有的名称必须在100天之后进行一次链上交易来更新。如果一个名称没有更新,它将再次可用。

oracles

最后,æternity 的中间件部分专门介绍了另一个协议集成功能:oracles。

区块链技术有望通过使用智能合约来减少中介,这些智能合约在满足某些条件时会自动执行。这项工作的主要挑战之一是为智能合约提供准确的真实世界的数据。

Oracle 通过连接区块链平台的物理和虚拟世界来解决此问题。例如,oracle 可用于供应链管理中,当包裹到达特定位置时触发智能合约。

æternity 已将 oracle 服务包含在核心区块链协议中,从而为 æternity 的 oracles 提供了许多独特的优势:

  • 可扩展性-æternity 的区块链没有扩展限制。

  • 数据格式-oracle 已经发布了API,这些API可以与以多种语言编写的智能合约进行交互。

  • 成本—协议集成和低廉的链上费用使创建、查询和回复 oracle 变得便宜。

æternity 的中间件提供了一种简单的方法来浏览不同的 oracle 查询。接口使用户可以检查查询费用,查询/响应格式以及到期时间。通过单击查询ID,可以找到有关查询和响应本身的更多信息。

æternity 的中间件是解决许多问题的理想解决方案。它是出于必要而创建的,它将大大简化查询区块链的过程。

有任何想法或意见,可以随时访问GitHub进行交流。

本文来源于 medium

免责声明:
1. 本文版权归属原作所有,仅代表作者本人观点,不代表币推儿的观点或立场。
2. 如发现文章、图片等侵权行为,侵权责任将由作者本人承担。