开发文档

sign

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

sign方法采用JSON格式的交易和密钥,并返回交易的带符号二进制表示。结果总是不同,即使您提供相同的交易JSON和密钥。要为多签名交易贡献一个签名,请改用该sign_for命令。

警告:除非您streamd自己运行服务器,否则应该使用StreamAPI执行本地签名,而不是使用此命令。一个不可信任的服务器可能会在签名之前更改交易,或者使用您的密钥签署额外的任意交易,就好像它们来自您。

请求格式的示例:

{
  "id": 2,
  "command": "sign",
  "tx_json" : {
      "TransactionType" : "Payment",
      "Account" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
      "Destination" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
      "Amount" : {
         "currency" : "USD",
         "value" : "1",
         "issuer" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV"
      }
   },
   "secret" : "s████████████████████████████",
   "offline": false,
   "fee_mult_max": 1000
}
{
    "method": "sign",
    "params": [
        {
            "offline": false,
            "secret": "s████████████████████████████",
            "tx_json": {
                "Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
                "Amount": {
                    "currency": "USD",
                    "issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
                    "value": "1"
                },
                "Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
                "TransactionType": "Payment"
            },
            "fee_mult_max": 1000
        }
    ]
}
#Syntax: sign secret tx_json [offline]
streamd sign s████████████████████████████ '{"TransactionType": "Payment", "Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV", "Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV", "Amount": { "currency": "USD", "value": "1", "issuer" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV" }, "Sequence": 360, "Fee": "10000"}' offline

要签署交易,您必须提供可授权交易的密钥。您可以通过几种方式来完成此操作:

  • 提供一个secret值并忽略该key_type字段。该值可以格式化为base58种子,RFC-1751,十六进制或字符串密码。(仅限secp256k1键)
  • 提供一个key_type值和中只有一个seed,seed_hex或passphrase。省略该secret字段。(不受命令行语法支持)。

该请求包含以下参数:

FieldTypeDescription
tx_jsonObjectJSON格式的交易定义
secretString(可选)提供交易的帐户的密钥,用于对其进行签名。不要将您的秘密发送给不受信任的服务器或通过不安全的网络连接。不能与使用key_type,seed,seed_hex,或passphrase。
seedString(可选)提供交易的帐户的密钥,用于对其进行签名。必须采用base58格式。如果提供,您还必须指定key_type。不能与使用secret,seed_hex或passphrase。
seed_hexString(可选)提供交易的帐户的密钥,用于对其进行签名。必须采用十六进制格式。如果提供,您还必须指定key_type。不能与使用secret,seed或passphrase。
passphraseString(可选)提供事务的帐户的密钥,用于对其进行签名,作为字符串密码。如果提供,您还必须指定key_type。不能与使用secret,seed或seed_hex。
key_typeString(可选)此请求中提供的加密密钥的类型。有效类型是secp256k1或ed25519。默认为secp256k1。不能用于secret。小心: Ed25519支持是实验性的。
offlineBoolean(可选,默认为false)如果为true,则在构建事务时,不要尝试自动填入或验证值。
build_pathBoolean(可选)如果为付款类型的交易提供,则Paths在签名前自动填写该字段。警告:服务器查找是否存在此字段,而不是其值。此行为可能会更改。
fee_mult_maxInteger(可选,默认值为10;建议值1000)限制自动提供的Fee字段的数量。rpcHIGH_FEE如果交易成本上的当前负荷乘数大于(fee_mult_max÷ fee_div_max),则签署失败并显示错误。如果您指定Fee交易字段(交易成本),则忽略。
fee_div_maxInteger(可选,默认为1)rpcHIGH_FEE如果交易成本上的当前负荷乘数大于(fee_mult_max÷fee_div_max),则签署失败并显示错误。如果您指定Fee交易字段(交易成本),则忽略。

 

THE NEXT CONNECTION

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

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

联系我们