channel_verify

[ソース]

PayChan Amendmentが有効になっている必要があります。新規: rippled 0.33.0

channel_verifyメソッドは、特定額のXRPをPayment Channelから清算するときに使用できる署名の有効性を検証します。

要求フォーマット

要求フォーマットの例:

{
   "id":1,
   "command":"channel_verify",
   "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3",
   "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064",
   "public_key":"aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3",
   "amount":"1000000"
}
POST http://localhost:5005/
Content-Type: application/json

{
   "method":"channel_verify",
   "params":[{
       "channel_id":"5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3",
       "signature":"304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064",
       "public_key":"aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3",
       "amount":"1000000"
   }]
}
#Syntax: channel_verify <public_key> <channel_id> <amount> <signature>
rippled channel_verify aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3 5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3 1000000 304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064

要求には以下のパラメーターが含まれます。

フィールド 説明
amount 文字列 指定されたsignatureで承認するXRP、drop単位の額。
channel_id 文字列 XRPを供給するChannelのChannel ID。これは64文字の16進文字列です。
public_key 文字列 Channelの公開鍵と、署名の作成に使用されたキーペア(16進数またはXRP Ledgerのbase58形式)。更新: rippled 0.90.0
signature 文字列 検証する署名(16進数)。

応答フォーマット

処理が成功した応答の例:

{
   "id":1,
   "status":"success",
   "type":"response",
   "result":{
       "signature_verified":true
   }
}
200 OK

{
   "result":{
       "signature_verified":true,
       "status":"success"
   }
}
{
   "result":{
       "signature_verified":true,
       "status":"success"
   }
}

この応答は標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。

フィールド 説明
signature_verified ブール値 trueの場合、示されている額、Channel、公開鍵で署名が有効です。

注意: これは、Channelに十分なXRPが割り当てられていることを確認するものではありません。クレームが有効であると判断する前に、最新の検証済みレジャーでこのChannelを調べ、このChannelがオープンでありそのamountの値がクレームのamount以上であることを確認してください。このためにはaccount_channelsメソッドを使用します。

考えられるエラー

  • 汎用エラータイプのすべて。
  • invalidParams - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
  • publicMalformed - 要求のpublic_keyフィールドが、正しいフォーマットの有効な公開鍵ではありません。公開鍵は33バイトであり、base58または16進数で表記されている必要があります。アカウントの公開鍵のbase58表現は文字aから始まります。16進表現は66文字です。
  • channelMalformed - 要求のchannel_idフィールドが有効なChannel IDではありません。Channel IDは256ビット(64文字)の16進文字列である必要があります。
  • channelAmtMalformed - 要求のamountに指定された値が、有効なXRPの額ではありませんでした。