# sign_for [[ソース]](https://github.com/XRPLF/rippled/blob/release/src/ripple/rpc/handlers/SignFor.cpp) `sign_for`コマンドは、[マルチシグトランザクション](/ja/docs/concepts/accounts/multi-signing)の署名を1つ提供します。 *デフォルトでは、このメソッドは[管理者専用](/ja/docs/references/http-websocket-apis/admin-api-methods)です。サーバ管理者が[パブリック署名を有効にしている](/ja/docs/infrastructure/configuration/enable-public-signing)場合、パブリックメソッドとして使用できます*。 このコマンドを使用するには、[MultiSign Amendment](/ja/resources/known-amendments#multisign)が有効になっている必要があります。新規: rippled 0.31.0 ## リクエストのフォーマット リクエストのフォーマットの例: WebSocket ```json { "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" } } ``` JSON-RPC ```json { "method":"sign_for", "params":[{ "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" } }] } ``` コマンドライン ```sh #Syntax: rippled sign_for [offline] rippled sign_for rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW s████████████████████████████ '{ "TransactionType":"TrustSet", "Account":"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", "Flags":262144, "LimitAmount":{ "currency":"USD", "issuer":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "value":"100" }, "Sequence":2, "SigningPubKey":"", "Fee":"30000" }' ``` リクエストには以下のパラメーターが含まれます。 | `Field` | 型 | 説明 | | --- | --- | --- | | `account` | 文字列 - [アドレス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9) | 署名を提供するアドレス。 | | `tx_json` | オブジェクト | 署名する[トランザクション](/ja/docs/references/protocol/transactions)。[signメソッド](/ja/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign)を使用する場合とは異なり、トランザクションのすべてのフィールド(`Fee`と`Sequence`を含む)を指定する必要があります。トランザクションに、空の文字列を値として指定した`SigningPubKey`フィールドを含める必要があります。このオブジェクトには、以前に収集した署名を持つ`Signers`配列を必要に応じて含めることができます。 | | `secret` | 文字列 | *(省略可)* トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。信頼できないサーバに対して、またはセキュリティが確保されていないネットワーク接続を通じて機密情報を送信しないでください。`key_type`、`seed`、`seed_hex`、`passphrase`と同時に使用することはできません。 | | `seed` | 文字列 | *(省略可)* トランザクションを提供するアカウントのシークレットキー。トランザクションへの署名に使用されます。XRP Ledgerの[base58](/ja/docs/references/protocol/data-types/base58-encodings)フォーマットにする必要があります。指定する場合は、`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](/ja/docs/references/protocol/data-types/base58-encodings)シード、RFC-1751、16進値のフォーマットで記述するか、文字列パスフレーズとして記述します(secp256k1キーのみ)。 * `key_type`値と、`seed`、`seed_hex`、または`passphrase`のいずれか1つを提供します。`secret`フィールドは省略します。(コマンドライン構文ではサポートされません。) ## レスポンスのフォーマット 処理が成功したレスポンスの例: WebSocket ```json { "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" } } } ``` JSON-RPC ``` 200 OK { "result" :{ "status" :"success", "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1F1", "tx_json" :{ "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", "Fee" :"30000", "Flags" :262144, "LimitAmount" :{ "currency" :"USD", "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "value" :"100" }, "Sequence" :2, "Signers" :[ { "Signer" :{ "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" } } ], "SigningPubKey" :"", "TransactionType" :"TrustSet", "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" } } } ``` コマンドライン ```json Loading:"/etc/rippled.cfg" Connecting to 127.0.0.1:5005 { "result" :{ "status" :"success", "tx_blob" :"1200142200040000240000000263D5038D7EA4C680000000000000000000000000005553440000000000B5F762798A53D543A014CAF8B297CFF8F2F937E868400000000000753073008114A3780F5CB5A44D366520FC44055E8ED44D9A2270F3E010732102B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF744730450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E58114204288D2E47F8EF6C99BCC457966320D12409711E1F1", "tx_json" :{ "Account" :"rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", "Fee" :"30000", "Flags" :262144, "LimitAmount" :{ "currency" :"USD", "issuer" :"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "value" :"100" }, "Sequence" :2, "Signers" :[ { "Signer" :{ "Account" :"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", "SigningPubKey" :"02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", "TxnSignature" :"30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" } } ], "SigningPubKey" :"", "TransactionType" :"TrustSet", "hash" :"A94A6417D1A7AAB059822B894E13D322ED3712F7212CE9257801F96DE6C3F6AE" } } } ``` このレスポンスは[標準フォーマット](/ja/docs/references/http-websocket-apis/api-conventions/response-formatting)に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 | `Field` | 型 | 説明 | | --- | --- | --- | | `tx_blob` | 文字列 | 新規に追加した署名を含む署名済みトランザクションの16進数表記。トランザクションに十分な数の署名がある場合には、[`submit`メソッドを使用してこの文字列を送信](/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit#%E9%80%81%E4%BF%A1%E5%B0%82%E7%94%A8%E3%83%A2%E3%83%BC%E3%83%89)できます。 | | `tx_json` | オブジェクト | 新規に追加された署名を含む`Signers`配列を持つ[トランザクションの指定](/ja/docs/references/protocol/transactions)(JSONフォーマット) 。トランザクションに十分な数の署名がある場合には、[submit_multisignedメソッド](/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned)を使用してこのオブジェクトを送信できます。 | ## 考えられるエラー * [汎用エラータイプ](/ja/docs/references/http-websocket-apis/api-conventions/error-formatting#%E6%B1%8E%E7%94%A8%E3%82%A8%E3%83%A9%E3%83%BC)のすべて。 * `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 * `srcActNotFound` - トランザクションの`Account`が、レジャーの資金供給のあるアドレスではない場合。 * `srcActMalformed` - リクエストの署名アドレス(`account`フィールド)の形式が無効である場合。 * `badSeed` - 指定されたシード値のフォーマットが正しくありません。 * `badSecret` - 指定されたシークレット値のフォーマットが正しくありません。