My Node Description(α)

My Node Descriptionはこちら。

まだα版です。正式版になる予定は特にありません。

表示などで不具合があったらそのうち対応する可能性はあります。

My Node Descriptionとは?

Symbol / dHealthのノードの紹介を表示します。

大きく分けて、以下の点を表示します。

  • ノード情報
  • ノードからのメッセージ
  • 委任ハーベスターのアドレス

なお、委任ハーベスターのアドレス横に、各Book……Book?サービスへのリンクが付与されています。

SymbolネットワークであればXEMBook、dHealthであればdHealth Bookへのリンクとなります。
(ごめんなさい。問題があれば撤去します)

指定ノードの表示方法について。

アドレスの末尾に?host=ホスト名を指定します。

また、対応ノードはさきの通り、SymbolまたはdHealthのメインネットのみ対応です。

例えば、SIXISで運用するノード(Symbol、dHealth)であれば、以下の指定方法で表示されます。

🏴‍☠️Symbol Node

https://mnd.sixis.xyz/?host=node.sixis.xyz

🚩dHealth Node

https://mnd.sixis.xyz/?host=dhealth.sixis.xyz
※ただし、dHealthはmetadataの設定が対応していないため、今のところ項目の取得予定はありません。

項目の意味について。

アプリケーション自体に説明がほぼないのと、僕の英語力は幼卒レベルです。

それにより申し訳ないですが、ここで項目の説明をします。

Node information.項目について。

項目名意味
Host.Host。そのまま。
Friendly name.Friendly name.そのまま。
Network.network種類が表示されます。
SSL.SSL対応について。Alreadyが対応済みです。
Maximum
harvesters.
最大ハーベスター数。
Priority policy.重要度(IMP)か、先着順(AGE)か。
英語表現がこれでいいかはわかりません。
Introduction.短文の紹介メッセージを表示します。
Detail URL.ノードの詳細を記したURLです。
Receipt speed.レシート取得スピードをHighかNormalで表しています。
レシート取得スピードについて欄外にて。
SNSSNSのアイコンとリンクを表示します。
現在はTwitterとNEMLOGに対応しています。
Mail.連絡用メールアドレスが表示されます。

※ Receipt speedについて。

もしノードを再構築するようなことがあればMongoDBインデックスの見直しをお願いします」が適用されているかどうかの指標です。
具体的な判定基準は、1秒以内に回答されるかどうかで判断しています。

Node message.項目について。

ノード運用者からの自由メッセージを表示します。

Markdown形式のテキストファイルのあるパスを指定してください。

Harvester addresses.について。

委任しているハーベスターのアドレスを表示します。

なお、ネットワークに登録されていない公開鍵の場合は表示されません。

画像の例の通り、各アドレスの横に○○Bookのリンクを表示しています。

SymbolネットワークであればXEMBook、dHealthであればdHealthBookが表示されます。

その他、Address filter:の欄にアドレスを入力することで、絞り込み表示が可能です。

各データの設定方法について。

ここまで登場した各項目などの設定方法についてです。

ノードの/node/metadataにアクセスした際、json形式のメタデータを返す必要があります。

/node/metadataについては

RESTゲートウェイに任意のJSON拡張情報をもたせるnodeMetadata設定

REST「ゲートウェイに任意のJSON拡張情報をもたせるnodeMetadata設定」のすくりぷとをつくってみたのぉ🌺

RESTゲートウェイのnodeMetadata設定を楽にするツールを作ってみた

このあたりの参照をお願いします。

MNDでは、この中で”mnd”以下に定義したものを対象としています。

まずは設定例として以下(弊ノード)。

ex. https://node.sixis.xyz/node/metadata

書式としては以下の通りとなります。

※画像項目のみ、長いため空欄にしてあります。

{
“mnd”: {
“maxHarvesterQ”: 9999,
“twitterID”: “lynx2lion”,
“introduction”: “ブロックチェーンの未来を夢見て、何かしらの活動を行います。”,
“detailUrl”: “https://www.sixis.xyz/?p=31”,
“delePrioritizationPoricy”: “IMP”,
“nemlogProfileUrl”: “https://nemlog.nem.social/profile/3837”,
“profileImgBase64”: “”,
“headerImgBase64”: “”,
“detailMDUrl”: “https://nodeinfo.sixis.xyz/nodeDetail.md”,
“mailAddress”: “node@sixis.xyz”
}
}
項目名
maxHarvestersQ数値委任ハーベスターの受け入れ最大数。
Node information.のMaximum harvesters.
twitterID文字TwitterID。
Node information.のSNS.に表示。
introduction文字紹介文。
Node information.のIntroduction.。
detailUrl文字詳細URL。
Node information.のdetail URL.。
delePrioritizationPoricy文字委任ハーベスターの優先度。
Node information.のPriority policy.。
IMPかAGE。がいい。
nemlogProfileUrl文字nemlogのプロフィールURL。
Node information.のSNS.に表示。
profileImgBase64文字後述。
headerImgBase64文字後述。
detailMDUrl文字Node message.に表示するMarkdownファイルパス。
mailAddress文字メールアドレス。
Node information.のMail.。

profileImgBase64, headerImgBase64について。

My Node Descriptionの画面上部には画像が表示されています。

基本画像はこんな感じです。

設定するとこのようになります。

キャラクターのアイコンがprofileImgBase64、背景がheaderImgBase64です。

各内容に、表示したい画像のBase64化したものを指定してください。

それだけです。ええ、それだけです。。。

その他注意事項について。

現状はこの設定(/node/metadataの設定)をしていただく以外の設定方法はありません。

他の設定方法を取るかどうかも未定です。

また、/node/metadataはhttpsでアクセスされた場合はhttpsで拾いにいきますし、httpでアクセスされた場合はhttpで拾いにいきます。
リクエストがあれば、こちらの試行方法の変更を行います。

すべてはやる気と状況次第。

最後に。

閲覧いただきありがとうございます。

本アプリケーションはFlutterで構築されました。

何かありましたら、Twitterでお知らせください。