网关概述
原文:https://docs.elrond.com/sdk-and-tools/rest-api/gateway-overview
## Elrond网关 REST API 概述
Elrond的 Gateway REST API 可以被任何应用程序(dApp、桌面或服务器应用程序)用来与区块链进行交互。网关由代理支持,网关和代理这两个名字经常被认为是同一个东西。不同的是,gateway
是Elrond的基础设施,由 elrond-proxy-go 库支持。
代理 API 与观察者 API
Elrond代理和节点(观察者)都被设计成公开(几乎)相同的 HTTP 端点,尽管由于架构限制这并不总是成立。当在以下页面中描述每个 HTTP 端点时,如果在代理端点和观察端点之间有任何差异或不匹配,这将在如下注释中被捕获:
重要
代理/网关端点被称为https://gateway.elrond.com/....
,而节点端点被称为http://localhost:8080/....
。
认证
目前,访问 API 不需要身份验证。
HTTP 响应格式
针对Elrond API 的每个请求都将解析为具有以下结构的 JSON 响应:
{
"data": {
...
},
"error": "...",
"code": "..."
}
也就是说,所有响应将包含字段data
、error
和code
。
在成功的情况下,data
字段被填充,error
字段为空,而code
字段被设置为**successful**
。例如:
{
"data": {
"account": {
"address": "erd1...",
"nonce": 0,
"balance": "42",
...
}
},
"error": "",
"code": "successful"
}
在错误的情况下,data
字段未置位,error
字段包含一个人类可读的问题描述,而code
字段被设置为一个既机器又人类可读的错误代码。例如:
{
"data": null,
"error": "checksum failed. Expected 2rq9g5, got smsgld.",
"code": "internal_issue"
}
重要
当在下面的页面中描述每个 HTTP 端点时,为了简洁起见,响应的基本结构被简化为,,通常,只描述响应的实际负载。