# channel_authorize [[ソース]](https://github.com/XRPLF/rippled/blob/d4a56f223a3b80f64ff70b4e90ab6792806929ca/src/ripple/rpc/handlers/PayChanClaim.cpp#L41) *([PayChan Amendment](/ja/resources/known-amendments#paychan)が有効になっている必要があります。新規: rippled 0.33.0)* `channel_authorize`メソッドは、特定額のXRPをPayment Channelから清算するときに使用できる署名を作成します。 ## リクエストのフォーマット リクエストのフォーマットの例: WebSocket ```json { "id": "channel_authorize_example_id1", "command": "channel_authorize", "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", "seed": "s████████████████████████████", "key_type": "secp256k1", "amount": "1000000", } ``` JSON-RPC ```json POST http://localhost:5005/ Content-Type: application/json { "method": "channel_authorize", "params": [{ "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", "seed": "s████████████████████████████", "key_type": "secp256k1", "amount": "1000000" }] } ``` コマンドライン ```sh #Syntax: channel_authorize [] rippled channel_authorize s████████████████████████████ secp256k1 5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3 1000000 ``` リクエストには以下のパラメーターが含まれます。 | フィールド | 型 | 説明 | | --- | --- | --- | | `channel_id` | 文字列 | Payment Channelが使用する一意のID。 | | `secret` | 文字列 | *(省略可)* クレームへの署名に使用する秘密鍵。これは、Channelに指定されている公開鍵と同じキーペアである必要があります。`seed`、`seed_hex`、`passphrase`と同時に使用することはできません。更新: rippled 1.4.0 | | `seed ` | 文字列 | *(省略可)* クレームへの署名に使用する秘密シード。これは、Channelに指定されている公開鍵と同じキーペアである必要があります。XRP Ledgerの[base58](/ja/docs/references/protocol/data-types/base58-encodings)フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed_hex`、`passphrase`と同時に使用することはできません。新規: rippled 1.4.0 | | `seed_hex` | 文字列 | *(省略可)* クレームへの署名に使用する秘密シード。これは、Channelに指定されている公開鍵と同じキーペアである必要があります。16進フォーマットにする必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`passphrase`と同時に使用することはできません。新規: rippled 1.4.0 | | `passphrase` | 文字列 | *(省略可)* クレームへの署名に使用する文字列パスフレーズ。これは、Channelに指定されている公開鍵と同じキーペアである必要があります。[このパスフレーズから導出した鍵](/ja/docs/concepts/accounts/cryptographic-keys#%E9%8D%B5%E5%B0%8E%E5%87%BA)は、チャネルで指定された公開鍵と一致する必要があります。指定する場合は、`key_type`も指定する必要があります。`secret`、`seed`、`seed_hex`と同時に使用することはできません。新規: rippled 1.4.0 | | `key_type` | 文字列 | *(省略可)* 指定された暗号化キーペアの[署名アルゴリズム](/ja/docs/concepts/accounts/cryptographic-keys#%E7%BD%B2%E5%90%8D%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0)。有効な種類は、`secp256k1`または`ed25519`です。デフォルトは`secp256k1`です。新規: rippled 1.4.0 | | `amount` | 文字列 | 承認するXRPの累積額(drop数)送金先がこのChannelからすでに受領しているXRPの額がこのフィールドの額よりも少ない場合、このメソッドで作成される署名を使用して差額を清算できます。 | リクエストでは、`secret`、`seed`、`seed_hex`、`passphrase`のうち1つだけを指定する**必要があります**。 信頼できないサーバに対して、またはセキュリティが確保されていないネットワーク接続を通じて秘密鍵を送信しないでください。(これには、このリクエストの`secret`、`seed`、`seed_hex`、または`passphrase`フィールドも含まれます)このメソッドは、自身が実行するサーバ、または資金を預けている十分に信頼できるサーバへの、安全で暗号化されたネットワーク接続でのみ使用してください。そうでない場合、盗聴者があなたの秘密鍵を使用してクレームに署名し、同じキーペアを使用してこのPayment Channelなどから資金をすべて持ち出す可能性があります。手順については、[安全な署名の設定](/ja/docs/concepts/transactions/secure-signing)をご覧ください。 ## レスポンスのフォーマット 処理が成功したレスポンスの例: WebSocket ```json { "id": "channel_authorize_example_id1", "status": "success", "result": { "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", } } ``` JSON-RPC ```json 200 OK { "result": { "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", "status": "success" } } ``` コマンドライン ```json { "result": { "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", "status": "success" } } ``` このレスポンスは[標準フォーマット](/ja/docs/references/http-websocket-apis/api-conventions/response-formatting)に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 | フィールド | 型 | 説明 | | --- | --- | --- | | `signature` | 文字列 | このクレームの署名(16進値)。このクレームを処理するには、Payment Channelの送金先アカウントがこの署名、正確なChannel ID、XRPの額、およびChannelの公開鍵が指定された[PaymentChannelClaimトランザクション](/ja/docs/references/protocol/transactions/types/paymentchannelclaim)を送信する必要があります。 | ## 考えられるエラー * いずれかの[汎用エラータイプ](/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)。 * `badKeyType` - リクエストの`key_type`パラメーターは、有効なキータイプではありません。(有効なタイプは、`secp256k1`または`ed25519`です。)新規: rippled 1.4.0 * `badSeed` - リクエストの`secret`が有効なシークレットキーではありません。 * `channelAmtMalformed` - リクエストの`amount`が有効な[XRPの額](/ja/docs/references/protocol/data-types/basic-data-types#%E9%80%9A%E8%B2%A8%E9%A1%8D%E3%81%AE%E6%8C%87%E5%AE%9A)ではありません。 * `channelMalformed` - リクエストの`channel_id`が有効なChannel IDではありません。Channel IDは256ビット(64文字)の16進文字列です。