代理
Elrond代理概述
建筑概述
虽然网络中的任何节点都可以接受交易请求,但交易通常被提交给代理应用程序,该应用程序维护一个节点列表- 观察者,以便将交易请求转发给这些观察者,这些观察者是以这样的方式选择的,即提交给它们的任何交易都将由网络尽快且尽可能高效地处理。
代理将代表用户向其列出的观察者之一的 REST API 提交一个交易,该观察者被选择为 (a) 此时在线,而 (b) 位于发送者账户所属的碎片内。在 REST API 上接收到交易后,特定的观察者将在网络中传播交易,这将导致交易的执行。
代理的观察者节点因此充当进入网络的默认专用入口点。
不过,这里值得重复的是,通过代理提交交易是完全可选的——网络的任何节点都将接受要传播的交易,只要它没有禁用其 REST API。
Elrond代理概述
在上图中:
- Elrond网络由碎片中的节点组成。这些节点中的一些是观察者。
- Elrond代理的一个或多个实例——包括官方的一个——连接到观察者节点,以便将传入的用户交易转发到网络,并查询区块链内的状态。
- 客户端应用程序通过Elrond代理连接到网络。区块链驱动的应用程序也可以直接与观察者甚至验证者对话。
官方Elrond代理
Elrond代理的官方实例位于 https://gateway.elrond.com。
设置代理实例
警告
设置代理的文档是初步的,可能会有变化
为了在 web 服务器上托管代理实例,必须首先克隆并构建存储库:
git clone https://github.com/ElrondNetwork/elrond-proxy-go.git
cd elrond-proxy-go/cmd/proxy
go build .
配置
代理将其配置保存在config
文件夹中:
config.toml
-这是主配置文件。必须对其进行调整,以使代理指向所选观察节点的列表。external.toml
-该文件保存与外部系统交互的代理组件所需的配置。这种外部系统的一个例子是Elasticsearch——目前,Elrond代理需要一个 elastic search 实例来实现它的一些功能。apiConfig/credentials.toml
-此文件保存启用安全端点所需的配置-只能通过使用 BasicAuth 访问。apiConfig/v1_0.toml
-该文件包含所有端点及其设置(开放、安全和速率限制)。
依赖Elasticsearch
目前,代理使用 Elasticsearch 的依赖关系来满足 Get Address 交易端点。
为了将代理实例连接到 Elasticsearch 集群,必须更新external.toml
文件。