开发文档

subscribe

此篇内容尚无原站英文对应版本;切换语言后可浏览英文资料库。
该 subscribe方法在发生某些事件时请求服务器定期发出通知。 请求格式的示例:
{
  "id": "Example watch Bitstamp's hot wallet",
  "command": "subscribe",
  "accounts": ["vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV"]
}
{
    "id": "Example subscribe to STM/GateHub USD order book",
    "command": "subscribe",
    "books": [
        {
            "taker_pays": {
                "currency": "STM"
            },
            "taker_gets": {
                "currency": "USD",
                "issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV"
            },
            "snapshot": true
        }
    ]
}
{
  "id": "Example watch for new validated ledgers",
  "command": "subscribe",
  "streams": ["ledger"]
}
该请求包含以下参数:
Field Type Description
streams Array (可选)要订阅的通用流的字符串名称数组,如下所述
accounts Array (可选)具有唯一base58地址帐户的阵列,用于监视已验证的事务。服务器为任何影响至少其中一个帐户的交易发送通知。
accounts_proposed Array (可选)类似accounts,但包括尚未最终确定的交易。
books Array (可选)定义订单以监控更新的对象数组,如下所述。
url String (对于WebSocket是可选的;否则为必需)服务器为每个事件发送JSON-RPC回调的URL。仅管理员。
url_username String (可选)在回调URL处提供基本身份验证的用户名。
url_password String (可选)在回调URL处提供基本身份验证的密码。
以下参数弃用,可以在不另行通知删除:user,password,rt_accounts。 该streams参数提供对以下默认信息流的访问权限:
  • server- 每当streamd服务器的状态(例如网络连接)发生变化时发送消息
  • ledger - 每当共识流程声明新的验证分类账时发送消息
  • transactions - 每当交易包含在封闭式分类帐中时发送消息
  • transactions_proposed - 每当交易包含在封闭式分类帐中时发送消息,以及一些尚未包含在验证分类帐中的交易,并且可能永远不会。并非所有建议的交易在验证之前出现 注意: 即使一些不成功的交易也包含在验证的分类帐中,因为它们会收取反垃圾邮件交易费用。
  • validations - 每当服务器收到来自其信任的服务器的验证消息时发送消息。(streamd当服务器收到来自至少一个信任验证器的法定数量的验证消息时,个人声明验证分类帐。)
  • peer_status- (仅限管理员)关于连接的对等streamd服务器的信息,特别是关于共识流程的信息。
books数组的每个成员(如果提供)都是包含以下字段的对象:
Field Type Description
taker_gets Object 指定接受报价的账户将接收哪种货币作为没有金额的货币对象。
taker_pays Object 作为没有金额的货币对象,指定接受报价的账户将支付哪种货币。
taker String 独特的base58帐户地址,用作查看优惠的透视图。(这会影响资金状态和优惠费用。)
snapshot Boolean (可选,默认为false)如果为true,则在发送更新之前订阅订单时返回当前状态
both Boolean (可选,默认为false)如果为true,则返回订单的双方。
一个成功回应的例子:
{
  "id": "Example watch Bitstamp's hot wallet",
  "status": "success",
  "type": "response",
  "result": {}
}
响应遵循标准格式。响应中包含的字段取决于请求中包含的订阅内容。
  • accounts和accounts_proposed-无场返回
  • 流:服务器 - 有关服务器状态的信息,例如load_base(服务器的当前负载级别),random(随机生成的值)等等,可能会发生更改。
  • 流:事务,流:transactions_proposed和流:验证 - 没有字段返回
  • 流:分类账 - 有关分类账和现行收费表的信息,例如fee_base(当前STM交易的基本费用),fee_ref(收费单位交易的当前基本费用),ledger_hash(最新验证分类账的散列),reserve_base(最低储备金为帐户),等等。
  • books - 没有字段默认返回。如果"snapshot": true在请求中设置,返回offers(定义订单簿的商品定义对象数组)
可能的错误:
  • 任何通用错误类型。
  • invalidParams - 一个或多个字段指定不正确,或缺少一个或多个必填字段。
  • noPermission- 请求中包含该url字段,但不作为管理员连接。
  • unknownStream- streams请求字段的一个或多个成员不是有效的流名称。
  • malformedStream- streams请求的字段格式不正确。
  • malformedAccount- 请求中的一个地址accounts或accounts_proposed字段中的地址不是正确格式的STM分类帐地址。(注意:您可以订阅尚未在全局分类帐中具有条目的地址流,以便在该地址获得资助时收到消息。)
  • srcCurMalformed- 请求中taker_pays字段的一个或多个子字段books格式不正确。
  • dstAmtMalformed- 请求中taker_gets字段的一个或多个子字段books格式不正确。
  • srcIsrMalformed- 请求中issuer字段的一个或多taker_pays个子字段的books字段无效。
  • dstIsrMalformed- 请求中issuer字段的一个或多taker_gets个子字段的books字段无效。
  • badMarket- books现场不存在一本或多本所需订单; 例如,为自己交换货币。
当您订阅特定的流时,您会在该流上收到定期响应,直到您取消订阅或关闭WebSocket连接。这些回复的内容取决于您订阅的内容。这里有些例子:
THE NEXT CONNECTION

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

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

联系我们