最終更新:
編集

sign_for

[ソース]

sign_forコマンドは、マルチシグトランザクションの署名を1つ提供します。

デフォルトでは、このメソッドは管理者専用です。サーバ管理者がパブリック署名を有効にしている場合、パブリックメソッドとして使用できます

このコマンドを使用するには、MultiSign Amendmentが有効になっている必要があります。新規: rippled 0.31.0

リクエストのフォーマット

リクエストのフォーマットの例:

{
   "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メソッドを使用する場合とは異なり、トランザクションのすべてのフィールド(FeeSequenceを含む)を指定する必要があります。トランザクションに、空の文字列を値として指定したSigningPubKeyフィールドを含める必要があります。このオブジェクトには、以前に収集した署名を持つSigners配列を必要に応じて含めることができます。
secret文字列(省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。key_typeseedseed_hexpassphraseと同時に使用することはできません。
seed文字列(省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerのbase58フォーマットにする必要があります。指定する場合は、key_typeも指定する必要があります。secretseed_hexpassphraseと同時に使用することはできません。
seed_hex文字列(省略可) トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。16進フォーマットにする必要があります。指定する場合は、key_typeも指定する必要があります。secretseedpassphraseと同時に使用することはできません。
passphrase文字列(省略可) トランザクションを提供するアカウントのシークレットキー。文字列パスフレーズとして、トランザクションへの署名に使用されます。指定する場合は、key_typeも指定する必要があります。secretseedseed_hexと同時に使用することはできません。
key_type文字列(省略可) このリクエストで提供する暗号鍵の種類。有効な種類は、secp256k1またはed25519です。デフォルトではsecp256k1です。secretと同時に使用することはできません。注意: Ed25519のサポートは実験的な機能です。

シークレットキーを指定した1つのフィールドのみを指定する必要があります。次のいずれかになります。

  • secret値を指定し、key_typeフィールドを省略します。この値は、XRP Ledgerのbase58シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。
  • key_type値と、seedseed_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 - 指定されたシークレット値のフォーマットが正しくありません。