最終更新:
編集

feature

[ソース]

featureコマンドは、Amendmentに関してこのサーバが認識している情報(Amendmentが有効であるかどうか、サーバがAmendmentプロセスでこれらのAmendmentに賛成票を投じたかどうかなど)を返します。新規: rippled 0.31.0

featureコマンドを使用して、Amendmentへの賛成票または反対票を投じるようにサーバを一時的に設定できます。この変更は、サーバの再起動後も保持されます。更新: rippled 1.7.0

featureメソッドは、権限のないユーザは実行できない管理メソッドです。

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

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

{
 "id": "list_all_features",
 "command": "feature"
}

リクエストには以下のパラメーターが含まれます。

Field説明
feature文字列(省略可) Amendmentの一意のID(16進数)またはAmendmentの短い名前。指定されている場合は、レスポンスが1つのAmendmentに限定されます。それ以外の場合はレスポンスにすべてのAmendmentのリストが表示されます。
vetoedブール値(省略可、featureが指定されていない場合は無視されます)trueの場合、サーバに対しfeatureで指定されたAmendmentに反対票を投じるように指示します。falseの場合、サーバに対しAmendmentに賛成票を投じるように指示します。

注記
サーバが新しいAmendmentの適用方法を現在認識していない場合でも、featureフィールドにAmendment IDを指定すれば、新しいAmendmentに賛成票を投じるようにサーバを設定できます。たとえば、Amendmentをサポートする新しいrippledバージョンに 確実に アップグレードする予定がある場合などにこのように設定できます。

レスポンスのフォーマット

処理が成功したレスポンスの例:

{
 "id": "list_all_features",
 "status": "success",
 "type": "response",
 "result": {
   "features": {
     "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE": {
       "enabled": false,
       "name": "FeeEscalation",
       "supported": true,
       "vetoed": false
     },
     "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373": {
       "enabled": false,
       "name": "MultiSign",
       "supported": true,
       "vetoed": false
     },
     "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC": {
       "enabled": false,
       "name": "TrustSetAuth",
       "supported": true,
       "vetoed": false
     },
     "C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490": {
       "enabled": false,
       "name": "Tickets",
       "supported": true,
       "vetoed": false
     },
     "DA1BD556B42D85EA9C84066D028D355B52416734D3283F85E216EA5DA6DB7E13": {
       "enabled": false,
       "name": "SusPay",
       "supported": true,
       "vetoed": false
     }
   }
 }
}

レスポンスは標準フォーマットに従っており、正常に完了した場合は結果にAmendmentのマップがJSONプロジェクトとして含まれています。オブジェクトのキーはAmendment IDです。各キーの値は、そのIDのAmendmentのステータスを記述した Amendmentオブジェクト です。リクエストにfeatureが指定されいる場合、リクエストによる変更の適用後には、リクエストされたAmendmentオブジェクトだけがマップに含まれます。各Amendmentオブジェクトのフィールドを次に示します。

Field説明
enabledブール値最新レジャーでこのAmendmentが現在有効であるかどうか。
name文字列(省略される場合があります)このAmendmentの人間が読める形式の名前(判明している場合)。
supportedブール値サーバがこのAmendmentの適用方法を認識しているかどうか。このフィールドがfalse(サーバがこのAmendmentの適用方法を認識していない)に設定されており、enabledtrue(このAmendmentが最新レジャーで有効である)に設定されている場合、このAmendmentによりサーバがAmendmentブロックされる可能性があります。
vetoedブール値 または 文字列ほとんどのAmendmentにおいて、これはサーバがこのAmendmentに反対票を投じるように指示されているかどうかを示すブール値です。コードの中で廃止とマークされているAmendmentについては、代わりにObsoleteという文字列を指定します。更新: rippled 1.11.0.

注意
Amendmentのnameは、Amendmentの内容を厳密に示すものではありません。サーバ間でこの名前が一意であることや整合性があることは保証されません。

考えられるエラー

  • 汎用エラータイプのすべて。
  • badFeature - 指定されているfeatureのフォーマットが正しくないか、サーバがその名前のAmendmentを認識していません。
  • reportingUnsupported - (レポートモードサーバのみ) このメソッドはレポートモードでは使用できません。