Yumeville

Holochain デベロッパーパルス No.61

HolochainのFull Chain(ソースチェーン全体)バリデーションとHoloscapeのUXアップグレードについて

概要

我々は、インターネット上でアプリを実行する際の障害を取り除いたHolochain Coreリリース0.0.41-alpha3の直後に、パフォーマンスの改善、開発者の開発経験の向上、自動テストインフラストラクチャのサポートに力を注ぎました。今回のリリースには、hAppバンドルの統合とオフラインでのFull Chainつまりソースチェーン全体の検証の2つの重要な変更点が含まれています。 Holoscapeのリリース0.0.5-alphaも、新しいコンダクターと多くのUIの修正と改善のおかげで、いくつかのパフォーマンスが向上しました。開発者の皆さんはいくつかの優れた機能、特にデバッグビューが役に立つでしょう。

トピック

  1. Holochain Core 0.0.41-alpha3: hc runの新しい開発機能
  2. Holochain Core 0.0.41-alpha3: オフラインでのFull Chainバリデーション
  3. Holoscape 0.0.5-alpha: 開発者及びユーザーエクスペリエンスの改善
  4. コミュニティhAppを備えたHoloscape 0.0.5-alphaのデモ

詳細

Holochain Core 0.0.41-alpha3: hc runの新しい開発機能

デベロッパー・パルス58号では、hAppバンドルについて説明し、開発コンダクターのhc runでこれを近々使えることを伝えました。これは、Holochain Coreリリース0.0.41-alpha3利用できるようになり、独自にコンダクター構成ファイルを作成または維持することなく、1つのコマンドで、ブリッジされたDNAの集まりとUIを開発モードで実行できるようになりました。これにより、手動でのテストが簡単になり、実際のユーザーエクスペリエンスに近い環境でのテストが可能になりました。

前回に説明したように、最初からhAppバンドルを使用するのが最善の開発方法です。そうすることで、コンダクターコンフィグファイルを後々生成する心配がなくなります。ただし、この開発ワークフローを実際に機能させるには、hc runにこのhAppバンドルを生成する機能を含める必要がありました。良いことに、このリリースからは、開発プロセスにhAppバンドルの組み込みが可能になりました。

hAppバンドルでの作業が実際にどのようになるのかを理解するには、hAppのバンドルを使用するこのビデオ(英語)をご覧ください。ビデオにもあるPeer chat(Holochainで開発されたチャットアプリ)のようなかなり複雑なhAppでこの機能が必要な理由が確認できます。

また、hc runコマンドには役立つ2つの新しいパラメーターがあります。

このリリースに含まれる他の変更点は以下の通りです。

Holochain Core 0.0.41-alpha3: オフラインでのFull Chainバリデーション

上記のセクションで説明した変更に加えて、Holochain Core 0.0.41-alpha3では、オフラインでのFull Chainのバリデーションも可能になります。ノードがDHTにエントリを公開するとき、バリデーター(検証者)は「バリデーションパッケージ(validation package)」を提供することをバリデーションの条件としています。このパッケージには、そのエントリータイプのバリデーション方法に応じて、ソースチェーンにあるパブリックエントリー、ヘッダー、または両方を含めることができます(パッケージの中身が無いのも可)。以前は、ノードは検証時にパッケージをすべてのバリデーターに提供する必要がありました。つまり、そのノードがオンラインの場合にのみ、バリデーター(検証者)はバリデーション(検証)を行うことができました。エントリーを公開したばかりの場合は、少なくともしばらくの間オンラインのままになる可能性が高いため問題ないでしょう。ただし、数時間経過してバリデーターの1つがオフラインになると、新しく選ばれたバリデーターはもともとのエントリーの持ち主であるノードがオンラインになるまで何もできませんでした。

すべての公開エントリーは、そのエントリーのヘッダーもDHTに公開されます。エントリーの作成者がオフラインの場合、バリデーターは検証パッケージのすべての部分をDHTから直接収集できる必要があります。これは、より高速で直接的な通信方法(エントリー作成者からバリデーションパッケージを取得)が失敗した場合のフォールバックとして実装されました。

Holoscape 0.0.5-alpha: 開発者及びユーザーエクスペリエンスの改善

このリリースは、ユーザーエクスペリエンスの面で大きな飛躍を成し遂げています。これは、次の3つの主要な領域で確認できます。

  • スプラッシュスクリーンとその他のUIの改善 – Holoscapeを起動すると、スプラッシュスクリーンが自動的に表示され、hApp UIがドロワーに表示されます。また、システムトレイメニューやその他のスタイル変更が微調整され、全体的なユーザーエクスペリエンスが視覚的に魅力的になりました。

  • 改良されたhApp Store – まだプロトタイプですが、ダウンロード/インストールの進行状況やステータスを示したりするようになったりはるかに応答性が高くなっています。また最初に解凍せずに、zipからhAppバンドルを直接インストールできるようになりました。更にいくつかのレンダリングのバグも修正しました。

  • より強力なデバッグビュー – ステートダンプがはるかに高速になり、変更がリアルタイムで表示され、実際に変更されたステートの一部のみが再読み込みされるようになりました。さらに良いことに、すべてのテーブルは検索可能です。たとえば、どのノードがどのエントリを保持しているかを確認できるようになりました。インスタンスのソースチェーンとDHTエントリをタイプまたはハッシュでフィルタリングすることもできるようになりました。これにより、データ一貫性の現在の状態をすばやく簡単に把握できます。

コミュニティhAppを備えたHoloscape 0.0.5-alphaのデモ

Holoscape 0.0.5-alphaデモとアプリの紹介を必ずご覧ください!!上記で説明したことがよりわかるようになると思います。また、皆さんにHoloscape 0.0.5-alphaをテストしてもらい、Holochainフォーラムで皆さんの経験とフィードバックを共有してもらえると嬉しいです!

Holochain Core Conceptsとチュートリアル

皆さんの意見が聞きたいです!Holochainの理解に最も有益なドキュメントの作成の支援をお願いしたいと思います。Holochain Core Concepts(英語)やチュートリアル(日本語版)をすでに読んだり、完了している場合は、この簡単なスレッドに(日本語で大丈夫です!)回答して、あなたの経験についての感想や、今後あなたをどの様に支援できるか教えてください!

開発ステータス

Holochain Coreリリース: 0.0.42-alpha1| 変更ログ 次リリース:0.0.43-alpha1

Holoscapeリリース:v0.0.5-alpha

Holonixリリース:v0.0.56

Try-o-rama(エンドツーエンドテストツール)リリース:v0.3.1

出典:Holochain’s Full Chain Validation & Holoscape’s Major UX Upgrade