sign_for
sign_for
コマンドは、マルチシグトランザクションの署名を1つ提供します。
デフォルトでは、このメソッドは管理者専用です。サーバ管理者がパブリック署名を有効にしている場合、パブリックメソッドとして使用できます。
このコマンドを使用するには、MultiSign Amendmentが有効になっている必要があります。
リクエストのフォーマット
リクエストのフォーマットの例:
{ "id":"sign_for_example", "command":"sign_for", "account":"rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", "seed":"s████████████████████████████", "key_type":"ed25519", "tx_json":{ "TransactionType":"TrustSet", "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", "Flags":262144, "LimitAmount":{ "currency":"USD", "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "value":"100" }, "Sequence":2, "SigningPubKey":"", "Fee":"30000" } }
リクエストには以下のパラメーターが含まれます。
Field | 型 | 説明 |
---|---|---|
account | 文字列 - アドレス | 署名を提供するアドレス。 |
tx_json | オブジェクト | 署名するトランザクション。signメソッドを使用する場合とは異なり、トランザクションのすべてのフィールド(Fee とSequence を含む)を指定する必要があります。トランザクションに、空の文字列を値として指定したSigningPubKey フィールドを含める必要があります。このオブジェクトには、以前に収集した署名を持つSigners 配列を必要に応じて含めることができます。 |
secret | 文字列 | (省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。key_type 、seed 、seed_hex 、passphrase と同時に使用することはできません。 |
seed | 文字列 | (省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerのbase58フォーマットにする必要があります。指定する場合は、key_type も指定する必要があります。secret 、seed_hex 、passphrase と同時に使用することはできません。 |
seed_hex | 文字列 | (省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。16進フォーマットにする必要があります。指定する場合は、key_type も指定する必要があります。secret 、seed 、passphrase と同時に使用することはできません。 |
passphrase | 文字列 | (省略可) トランザクションを提供するアカウントのシークレットキー。文字列パスフレーズとして、トランザクションへの署名に使用されます。指定する場合は、key_type も指定する必要があります。secret 、seed 、seed_hex と同時に使用することはできません。 |
key_type | 文字列 | (省略可) このリクエストで提供する暗号鍵の種類。有効な種類は、secp256k1 またはed25519 です。デフォルトではsecp256k1 です。secret と同時に使用することはできません。注意: Ed25519のサポートは実験的な機能です。 |
シークレットキーを指定した1つのフィールドのみを指定する必要があります。次のいずれかになります。
secret
値を指定し、key_type
フィールドを省略します。この値は、XRP Ledgerのbase58シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。key_type
値と、seed
、seed_hex
、またはpassphrase
のいずれか1つを提供します。secret
フィールドは省略します。(コマンドライン構文ではサポートされません。)
レスポンスのフォーマット
処理が成功したレスポンスの例:
{ "id":"sign_for_example", "status":"success", "type":"response", "result":{ "tx_blob":"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E0107321EDDF4ECB8F34A168143B928D48EFE625501FB8552403BBBD3FC038A5788951D7707440C3DCA3FEDE6D785398EEAB10A46B44047FF1B0863FC4313051FB292C991D1E3A9878FABB301128FE4F86F3D8BE4706D53FA97F5536DBD31AF14CD83A5ACDEB068114D96CB910955AB40A0E987EEE82BB3CEDD4441AAAE1F1", "tx_json":{ "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", "Fee":"30000", "Flags":262144, "LimitAmount":{ "currency":"USD", "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "value":"100" }, "Sequence":2, "Signers":[ { "Signer":{ "Account":"rLFd1FzHMScFhLsXeaxStzv3UC97QHGAbM", "SigningPubKey":"EDDF4ECB8F34A168143B928D48EFE625501FB8552403BBBD3FC038A5788951D770", "TxnSignature":"C3DCA3FEDE6D785398EEAB10A46B44047FF1B0863FC4313051FB292C991D1E3A9878FABB301128FE4F86F3D8BE4706D53FA97F5536DBD31AF14CD83A5ACDEB06" } } ], "SigningPubKey":"", "TransactionType":"TrustSet", "hash":"5216A13A3E3CF662352F0B430C7D82B7450415B6883DD428B5EC1DF1DE45DD8C" } } }
このレスポンスは標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。
Field | 型 | 説明 |
---|---|---|
tx_blob | 文字列 | 新規に追加した署名を含む署名済みトランザクションの16進数表記。トランザクションに十分な数の署名がある場合には、submit メソッドを使用してこの文字列を送信できます。 |
tx_json | オブジェクト | 新規に追加された署名を含むSigners 配列を持つトランザクションの指定(JSONフォーマット) 。トランザクションに十分な数の署名がある場合には、submit_multisignedメソッドを使用してこのオブジェクトを送信できます。 |
考えられるエラー
- 汎用エラータイプのすべて。
invalidParams
- 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。srcActNotFound
- トランザクションのAccount
が、レジャーの資金供給のあるアドレスではない場合。srcActMalformed
- リクエストの署名アドレス(account
フィールド)の形式が無効である場合。badSeed
- 指定されたシード値のフォーマットが正しくありません。badSecret
- 指定されたシークレット値のフォーマットが正しくありません。