feature
feature
コマンドは、Amendmentに関してこのサーバが認識している情報(Amendmentが有効であるかどうか、サーバがAmendmentプロセスでこれらのAmendmentに賛成票を投じたかどうかなど)を返します。
feature
コマンドを使用して、Amendmentへの賛成票または反対票を投じるようにサーバを一時的に設定できます。この変更は、サーバの再起動後も保持されます。
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の適用方法を認識していない)に設定されており、enabled がtrue (このAmendmentが最新レジャーで有効である)に設定されている場合、このAmendmentによりサーバがAmendmentブロックされる可能性があります。 |
vetoed | ブール値 または 文字列 | ほとんどのAmendmentにおいて、これはサーバがこのAmendmentに反対票を投じるように指示されているかどうかを示すブール値です。コードの中で廃止とマークされているAmendmentについては、代わりにObsolete という文字列を指定します。. |
注意: Amendmentのname
は、Amendmentの内容を厳密に示すものではありません。サーバ間でこの名前が一意であることや整合性があることは保証されません。
考えられるエラー
- 汎用エラータイプのすべて。
badFeature
- 指定されているfeature
のフォーマットが正しくないか、サーバがその名前のAmendmentを認識していません。
reportingUnsupported
- (レポートモードサーバのみ) このメソッドはレポートモードでは使用できません。