此篇内容尚无原站英文对应版本;切换语言后可浏览英文资料库。
此模式签署交易并立即提交。该模式旨在用于测试。您不能将此模式用于多重签名的交易。
您可以通过以下方式提供用于签署交易的密钥:
有关服务器如何自动填充特定字段的详细信息,请参阅sign命令。
请求格式的示例:
- 提供一个
secret值并忽略该key_type字段。该值可以格式化为base58种子,RFC-1751,十六进制或字符串密码。(仅限secp256k1键) - 提供一个
key_type值和中只有一个seed,seed_hex或passphrase。省略该secret字段。(不受命令行语法支持)。
Field |
Type | Description |
|---|---|---|
tx_json |
Object | JSON格式的事务定义,可选地省略任何可自动填充的字段。 |
secret |
String | (可选)提供交易的帐户的密钥,用于对其进行签名。不要将您的秘密发送给不受信任的服务器或通过不安全的网络连接。不能与使用key_type,seed,seed_hex,或passphrase。 |
seed |
String | (可选)提供交易的帐户的密钥,用于对其进行签名。必须采用base58格式。如果提供,您还必须指定key_type。不能与使用secret,seed_hex或passphrase。 |
seed_hex |
String | (可选)提供交易的帐户的密钥,用于对其进行签名。必须采用十六进制格式。如果提供,您还必须指定key_type。不能与使用secret,seed或passphrase。 |
passphrase |
String | (可选)提供事务的帐户的密钥,用于对其进行签名,作为字符串密码。如果提供,您还必须指定key_type。不能与使用secret,seed或seed_hex。 |
key_type |
String | (可选)此请求中提供的加密密钥的类型。有效类型是secp256k1或ed25519。默认为secp256k1。不能用于secret。注意: Ed25519支持是实验性的。 |
fail_hard |
Boolean | (可选,默认为false)如果为true,并且事务在本地失败,请勿重试或将事务中继到其他服务器 |
offline |
Boolean | (可选,默认为false)如果为true,则在构建事务时,不要尝试自动填入或验证值。 |
build_path |
Boolean | (可选)如果为付款类型的交易提供,则Paths在签名前自动填写该字段。如果事务是直接的STM到STM传输,则必须省略此字段。警告:服务器查找是否存在此字段,而不是其值。此行为可能会更改。 |
fee_mult_max |
Integer | (可选,缺省值为10,建议值为1000)如果Fee省略此参数,则此字段会限制自动提供的Fee值,使其小于或等于长期基本交易成本乘以此值。 |
fee_div_max |
Integer | (可选,默认为1)用于fee_mult_max为限制创建分数乘数。具体来说,服务器将其基本交易成本乘以fee_mult_max,然后除以该值(舍入为整数)以获得限制。如果自动提供的Fee值超出限制,则提交命令失败。 |
{
"id": 2,
"command": "submit",
"tx_json" : {
"TransactionType" : "Payment",
"Account" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Destination" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Amount" : {
"currency" : "USD",
"value" : "1",
"issuer" : "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV"
}
},
"secret" : "s████████████████████████████",
"offline": false,
"fee_mult_max": 1000
}
{
"method": "submit",
"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: submit secret json [offline]
streamd submit s████████████████████████████ '{"Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV", "Amount": { "currency": "USD", "issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV", "value": "1" }, "Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV", "TransactionType": "Payment", "Fee": "10000"}'
一个成功回应的例子:
{
"id": 2,
"result": {
"engine_result": "temREDUNDANT",
"engine_result_code": -275,
"engine_result_message": "Sends same currency to self.",
"tx_blob": "1200002280000000240000013961D4838D7EA4C6800000000000000000000000000055534400000000008B17262A312E4FF5BE1138A85301428C74628BB868400000000000000A73210338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C674473045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF281148B17262A312E4FF5BE1138A85301428C74628BB883148B17262A312E4FF5BE1138A85301428C74628BB8",
"tx_json": {
"Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Amount": {
"currency": "USD",
"issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"value": "1"
},
"Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Fee": "10",
"Flags": 2147483648,
"Sequence": 313,
"SigningPubKey": "0338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C6",
"TransactionType": "Payment",
"TxnSignature": "3045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF2",
"hash": "A9F6F788C0576969648738CECA450FD8AC82CAF0CF32540A3D2F1C7A13CBF98E"
}
},
"status": "success",
"type": "response"
}
{
"result": {
"engine_result": "temREDUNDANT",
"engine_result_code": -275,
"engine_result_message": "Sends same currency to self.",
"tx_blob": "1200002280000000240000013961D4838D7EA4C6800000000000000000000000000055534400000000008B17262A312E4FF5BE1138A85301428C74628BB868400000000000000A73210338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C674473045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF281148B17262A312E4FF5BE1138A85301428C74628BB883148B17262A312E4FF5BE1138A85301428C74628BB8",
"tx_json": {
"Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Amount": {
"currency": "USD",
"issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"value": "1"
},
"Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Fee": "10",
"Flags": 2147483648,
"Sequence": 313,
"SigningPubKey": "0338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C6",
"TransactionType": "Payment",
"TxnSignature": "3045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF2",
"hash": "A9F6F788C0576969648738CECA450FD8AC82CAF0CF32540A3D2F1C7A13CBF98E"
}
}
}
Loading: "/etc/streamd.cfg"
Connecting to 127.0.0.1:5005
{
"result": {
"engine_result": "temREDUNDANT",
"engine_result_code": -275,
"engine_result_message": "Sends same currency to self.",
"tx_blob": "1200002280000000240000013961D4838D7EA4C6800000000000000000000000000055534400000000008B17262A312E4FF5BE1138A85301428C74628BB868400000000000000A73210338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C674473045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF281148B17262A312E4FF5BE1138A85301428C74628BB883148B17262A312E4FF5BE1138A85301428C74628BB8",
"tx_json": {
"Account": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Amount": {
"currency": "USD",
"issuer": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"value": "1"
},
"Destination": "vDgSCaGS3iih9iKvfvRULrK7gurJjdDnUV",
"Fee": "10",
"Flags": 2147483648,
"Sequence": 313,
"SigningPubKey": "0338B02E376397CE1600D338500584CC79E54094C8544DE2400E01E7CE4447F2C6",
"TransactionType": "Payment",
"TxnSignature": "3045022100E9DBF1323A39E65C5E6085CD12C49383059365A9F664466327742E0ACB975339022069CF3C84706C19419B31FD182816598BABE5410F72C3728AEA9B933C11660FF2",
"hash": "A9F6F788C0576969648738CECA450FD8AC82CAF0CF32540A3D2F1C7A13CBF98E"
}
}
}
响应遵循标准格式,成功结果包含以下字段:
Field |
Type | Description |
|---|---|---|
engine_result |
String | 例如,表示交易初步结果的代码 tesSUCCESS |
engine_result_code |
Integer | 表示交易初步结果的数字代码,直接与相关 engine_result |
engine_result_message |
String | 人类可读的交易初步结果解释 |
tx_blob |
String | 十六进制字符串格式的完整交易 |
tx_json |
Object | JSON格式的完整交易 |
警告:即使WebSocket响应具有"status":"success",表示命令已成功接收,但并不表示事务成功执行。许多情况可能会阻止交易成功处理,例如在支付中缺少连接两个帐户的信任线,或者自交易构建时开始账户状态发生变化。即使没有任何错误,可能需要几秒钟才能关闭和验证包含交易的分类帐版本。有关详细信息,请参阅交易回复的完整列表,并且不要将交易的结果视为最终结果,直至它们出现在经过验证的分类帐版本中。
警告:如果此命令导致错误消息,则消息可以包含请求中的密钥。(如果请求包含签名的tx_blob,那么这不是问题。)确保这些错误对其他人不可见。
- 不要将包括密钥在内的错误写入多人可见的日志文件。
- 不要将包含密钥在内的错误粘贴到公共场所进行调试。
- 不要在网站上显示包含您的密钥的错误消息,即使意外。
- 任何通用错误类型。
amendmentBlocked- 由于streamd服务器被修改阻止,因此无法将事务提交到网络。highFee-fee_mult_max指定了参数,但服务器的当前费用乘数超过了指定的值。(仅限签署和提交模式)internalJson- 将事务序列化为JSON时发生内部错误。这可能是由交易的许多方面引起的,包括签名不正确或某些字段格式错误。internalSubmit- 提交交易时发生内部错误。这可能是由交易的许多方面引起的,包括签名不正确或某些字段格式错误。internalTransaction- 处理事务时发生内部错误。这可能是由交易的许多方面引起的,包括签名不正确或某些字段格式错误。invalidParams- 一个或多个字段指定不正确,或缺少一个或多个必填字段。invalidTransaction- 交易格式不正确或无效。noPath- 交易不包括路径,并且服务器无法找到可以发生此付款的路径。(仅限签署和提交模式)tooBusy- 交易不包括路径,但服务器太忙而无法现在进行寻路。如果您作为管理员连接,则不会发生。(仅限签署和提交模式)
