开发文档

server_state

此篇内容尚无原站英文对应版本;切换语言后可浏览英文资料库。

该server_state命令向服务器询问有关streamd服务器当前状态的各种机器可读信息。结果几乎相同server_info,但使用易于处理而不易读取的单位。(例如,STM值以整数下降给出,而不是科学记数法或小数值,时间以毫秒为单位,而不是秒。)

请求格式的示例:

{
  "id": 2,
  "command": "server_state"
}
{
    "method": "server_state",
    "params": [
        {}
    ]
}
#Syntax: server_state
streamd server_state

该请求不需要任何参数。

一个成功回应的例子:

{
  "id": 2,
  "result": {
    "state": {
      "build_version": "0.1.0",
      "complete_ledgers": "2-168954",
      "io_latency_ms": 1,
      "last_close": {
        "converge_time": 2001,
        "proposers": 2
      },
      "load_base": 256,
      "load_factor": 256,
      "peers": 2,
      "pubkey_node": "n9KiKNomfCpaMgocLawVjQv7VvvBbDTw1Kcy8YMTNJJBdoQM4sGZ",
      "server_state": "proposing",
      "validated_ledger": {
        "base_fee": 10,
        "close_time": 575963230,
        "hash": "16388D25CD429747F753DF68438FC8C0173AAF4F971870C4B0A4625530C178F8",
        "reserve_base": 1000000,
        "reserve_inc": 100000,
        "seq": 168954
      },
      "validation_quorum": 2
    }
  },
  "status": "success",
  "type": "response"
}
200 OK
{
  "result": {
    "state": {
      "build_version": "0.1.0",
      "complete_ledgers": "2-168954",
      "io_latency_ms": 1,
      "last_close": {
        "converge_time": 2001,
        "proposers": 2
      },
      "load_base": 256,
      "load_factor": 256,
      "peers": 2,
      "pubkey_node": "n9KiKNomfCpaMgocLawVjQv7VvvBbDTw1Kcy8YMTNJJBdoQM4sGZ",
      "server_state": "proposing",
      "validated_ledger": {
        "base_fee": 10,
        "close_time": 575963230,
        "hash": "16388D25CD429747F753DF68438FC8C0173AAF4F971870C4B0A4625530C178F8",
        "reserve_base": 1000000,
        "reserve_inc": 100000,
        "seq": 168954
      },
      "validation_quorum": 2
    }
  },
  "status": "success",
  "type": "response"
}

响应遵循标准格式,成功的结果包含一个state对象作为唯一的字段。

该state对象可能具有以下字段:

FieldTypeDescription
build_versionString正在运行的streamd版本的版本号。
complete_ledgersString范围表达式表示本地streamd数据库中的分类帐版本的序列号。可能是不相交的序列,例如“2500-5000,32570-7695432”。
closed_ledgerObject(可能被省略)最近关闭的分类帐的信息尚未经协商一致确认。如果最近验证的分类账可用,则回复省略此字段并包含validated_ledger。成员字段与validated_ledger字段相同。
io_latency_msNumber花在等待I / O操作上的时间,以毫秒为单位。如果这个数字不是非常非常低,那么streamd服务器可能有严重的负载问题。
loadObject(仅限管理员)有关服务器当前负载状态的详细信息
load.job_typesArray(仅限管理员)有关服务器正在执行的不同类型作业的比率以及每个作业花费多少时间的信息。
load.threadsNumber(仅限管理员)服务器主作业池中的线程数。
load_baseInteger这是交易成本计算中使用的服务器负载的基准数量。如果load_factor等于load_base那么只有基本交易成本被执行。如果该load_factor值高于该值load_base,则交易成本乘以它们之间的比率。例如,如果load_factor是两倍load_base,那么交易成本就会增加一倍。
peersNumberstreamd这个服务器当前连接了多少个其他服务器。
pubkey_nodeString用于验证此服务器以进行对等通信的公钥。该密钥对在服务器第一次启动时自动生成。(如果删除,服务器可以创建一对新的密钥。)
pubkey_validatorString(仅限管理员)此服务器使用的密钥对的公钥,用于签署提议的分类帐以进行验证。
server_stateString指示服务器参与网络的程度的字符串。有关更多信息,请参阅可能的服务器状态
state_accountingObject各种服务器状态的地图,包含有关服务器每次花费的时间的信息。这可以用于跟踪服务器与网络连接的长期健康状况。
state_accounting.*.duration_usString服务器在此状态下花费的微秒数。(每当服务器转换到另一个状态时都会更新。)
state_accounting.*.transitionsNumber服务器转换到此状态的次数。
uptimeNumber服务器运行的连续秒数。
validated_ledgerObject(可以省略)关于最近一次完全验证的分类帐的信息。如果最近验证的分类账不可用,则回复省略此字段并包含closed_ledger。
validated_ledger.base_feeUnsigned Integer基础费用,以STM为单位,用于向网络传播交易。
validated_ledger.close_timeNumber自Stream Epoch以来,此分类账已经关闭的时间
validated_ledger.hashString此分类帐版本的独特散列,如十六进制
validated_ledger.reserve_baseUnsigned Integer每个账户需要保留的最低金额,以STM为单位
validated_ledger.reserve_incUnsigned Integer金额,以STM为单位,添加到账户在账本中拥有的每个项目的账户储备金中。
validated_ledger.seqUnsigned Integer此分类帐的唯一序号
validation_quorumNumber验证分类帐版本所需的可信验证的最小数目。有些情况可能会导致服务器需要更多验证。

可能的错误:

  • 任何通用错误类型。
THE NEXT CONNECTION

下一次连接,从这里开始。

加入 Stream 社区,一起探索价值互联。

联系我们