Stargate版のCosmosbub-4に対応したGAME Explorer v1.0をリリース

GAME
GAME
Published in
Aug 4, 2021
GAME Explorer V1.0

Cosmos Hub 4に対応したBlockchain Explorerである GAME Explorer を公開しました。

※ GAME Explorerは、現在Cosmos Hub 4のみに対応しています。今後、Cosmos Gaming Hubのテストネットをはじめとして、複数のHubをサポートしていく予定です。

GAME Explorerとは

EthereumではEtherscan、Bitcoinではblockchain.comなどがBlockchain Explorerが有名で、トランザクションの確認をはじめとして、各アドレスの中身の確認などを行うことができます。BitcoinやEthereumで必要とされるBlock explorerと違って、PoSベースのコンセンサスアルゴリズムのCosmos Hubでは、ブロックを生成するValidatorと呼ばれるノードが存在します。また、Cosmos Hubでは、Onchain Governanceとして、投票を通してコミュニティの意思決定を行う機能があるほか、Cosmos Hub 4は、stargateアップデートに対応しておりIBCトランザクションが可能になっています。Blockchain Explorerでは、こうした機能をサポートすることが必要になります。今回作成したGAME ExplorerではgovernanceモジュールやIBCモジュールに対応し、投票結果やIBCトランザクションの中身を確認することができるようになっています。

使い方

早速、GAME Explorerの使い方を見ていきましょう。
使い方は、とてもシンプルです。

GAME Explorer Screen

次のURLにアクセスして、各ページをみるだけで大まかな概要をつかむことができます。

https://game-explorer.io

また、block高やTransaction Hash, address, validator address, validator名などで検索をすることも可能になっています。

システム俯瞰

GAME Explorerは、以下の3つの部分に分かれて構成されています。
詳細は下記のオープンソースで公開しているので、下記のgithubをご確認ください。

system overview

backendで行っていることはblockchain nodeとのデータの同期になります。blockchain nodeの性質上、nodeのデータをそのまま利用することはUXの低下を招くことになるので、必要なデータのみをexportしてmongoDB内に格納します。また、このとき、定期実行を行い外部のトークン価格を提供しているAPIを使って、トークン価格も取得します。

GraphQLを利用するメリット

GraphQLを利用した理由としては、下記のことが挙げられます。

  • 型付けされたスキーマであること
    型付けられたスキーマにより、バックエンド・フロントエンドのどちらも型とコードを生成することができます。コンパイル時にチェックすることも可能であり、自動補完、モックやAPIドキュメントの自動生成など様々な恩恵を受けることができます。
  • アンダーフェッチとオーバーフェッチがないこと
    GraphQLを使うことで、バックエンドの実装もシンプルで、1つ1つのリソースのResolverを実装すれば、要求を満たすことができます。特に、柔軟なデータ構造でレスポンスを構築することができるため、大体のユースケースでは1つのリクエストで全て返すことができます(アンダーフェッチがない)。また、GraphQLではほしいデータをクライアント側が明示的に要求するため、不要なデータを取りすぎてしまうオーバーフェッチがなくなり、サーバーサイドのパフォーマンスが向上し、帯域が節約されます。
  • Apolloなどのクライアントライブラリにより、フロントエンド開発が迅速になること
    実際にフロントエンドでは、現在nuxt.jsでApolloを利用していますが、当然のようにスキーマ駆動開発ができます。モデルは生成され、APIインターフェースの型も生成してくれます。
  • 複数のGraphQL APIからの統合が可能
    現在の実装では、一つのエンドポイントからデータを取得していますが、将来的に複数のGraphQL APIの統合をすることも容易に行うことができます。

GAME Explorerの意義

Cosmosの思想の一つに、開発者がCosmos-SDKを使ってより簡単にBlockchainを作れるようにし、アプリケーションレイヤーの開発に専念できるようにする、というものがあります。しかしながら、開発したアプリケーションにアクセスするためのインタフェースも同時に開発しないと実際のプロダクトとして利用するのは難しいのが現状です。Cosmos Gaming Hubの Nibiru Testnet等で、新規モジュールを作成した場合、Blockchain のインターフェースとしてExplorerは必須になります。Blockchainアプリケーションのためのインターフェースを構築することは必要不可欠と言えるでしょう。

募集
現在Cosmos Gaming Hubでは、一緒にCosmos-SDKを使った独自チェーン開発をより良いサービスとして成長させていけるエンジニアのメンバーを募集しています。興味がある方は、Twitterまでお気軽にご連絡ください。

— — — — — — — — — — — — — — — -
Cosmos Gaming Hub Project(旧MOLD Project)
CEO & Co-Founder

Takumi Asano / 朝野 巧己

全てのゲーム愛好家に最高のエンターテイメントを届けるために

--

--

GAME
GAME
Editor for

Cosmos Gaming Hub is a fair and secure distributed gaming platform which supports the development of new games and simplifies the trading of digital assets.