开发文档

feature

此篇内容尚无原站英文对应版本;切换语言后可浏览英文资料库。
该feature命令返回有关服务器了解的修改的信息,包括它们是否已启用以及服务器是否投票赞成修改过程中的这些修改。 您可以使用该feature命令临时配置服务器投票反对或赞成修正案。如果您重新启动服务器,此更改不会持续。要对修改投票进行持久更改,请使用该streamd.cfg文件。有关更多信息,请参阅配置修正投票。 该feature方法是不能由非特权用户运行的管理员命令。 请求格式的示例:
{
  "id": "list_all_features",
  "command": "feature"
}
{
  "id": "reject_multi_sign",
  "command": "feature",
  "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
  "vetoed": true
}
{
    "method": "feature",
    "params": [
        {
            "feature": "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
            "vetoed": false
        }
    ]
}
#Syntax: feature [ [accept|reject]]
streamd feature 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 accept
该请求包含以下参数:
Field Type Description
feature String (可选)修改的唯一标识,如十六进制; 或修正案的简称。如果提供,限制对一项修正案的回应。否则,答复将列出所有修正案。
vetoed Boolean (可选;除非另有feature说明,否则忽略)如果为true,则指示服务器对由指定的修改进行投票feature。如果为false,则指示服务器投票赞成修改。
 
注意:即使服务器当前不知道如何应用该修订,也可以通过在该feature字段中指定修订ID来配置服务器,以支持新的修订。例如,如果您计划尽快升级到支持修订的新streamd版本,则可能需要执行此操作。
一个成功回应的例子:
{
  "id": "list_all_features",
  "status": "success",
  "type": "response",
  "result": {
    "features": {
      "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE": {
        "enabled": false,
        "name": "FeeEscalation",
        "supported": true,
        "vetoed": false
      },
      "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": {
        "enabled": false,
        "name": "MultiSign",
        "supported": true,
        "vetoed": false
      },
      "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC": {
        "enabled": false,
        "name": "TrustSetAuth",
        "supported": true,
        "vetoed": false
      }
    }
  }
}
{
    "id": "reject_multi_sign",
    "status": "success",
    "type": "response",
    "result": {
        "features": {
            "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": {
                "enabled": false,
                "name": "MultiSign",
                "supported": true,
                "vetoed": true
            }
        }
    }
}
200 OK
{
    "result": {
        "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": {
            "enabled": false,
            "name": "MultiSign",
            "supported": true,
            "vetoed": false
        },
        "status": "success"
    }
}
Loading: "/etc/streamd.cfg"
Connecting to 127.0.0.1:5005
{
    "result": {
        "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": {
            "enabled": false,
            "name": "MultiSign",
            "supported": true,
            "vetoed": false
        },
        "status": "success"
    }
}
响应遵循标准格式,并且成功的结果包含作为JSON对象的修订映射。对象的键是修改ID。每个键的值是修改对象,用该ID来描述修订的状态。如果请求指定了一个 feature,则在应用请求中的任何更改之后,映射仅包含请求的修改对象。每个修改对象都有以下字段:
Field Type Description
enabled Boolean 目前是否在最新的分类帐中启用了此修正案。
name String (可能会被忽略)如果知道此修正案的人类可读名称。
supported Boolean 服务器是否知道如何应用此修正。如果此字段设置为false(服务器不知道如何应用此修订)并且enabled设置为true(此修订在最新的分类账中启用),则此修订可能会导致您的服务器被修改阻止。
vetoed Boolean 服务器是否被指示投票反对该修正案。
 
注意:在name一项修正案并不严格表明修正案做什么。该名称不保证在服务器之间唯一或一致。
可能的错误:
  • 任何通用错误类型。
  • badFeature- feature指定的格式无效,或服务器不知道使用该名称的修订。
THE NEXT CONNECTION

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

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

联系我们