Yumeville

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

Holochain v0.0.107:開発に適したリリース

令和3年09月24日
今週のリリースでは、開発者向けの機能はほとんどありませんが、パフォーマンスの面では大きなものとなっています。Holochain v0.0.107は、HoloPort Alpha Programのための爆発的な進歩を解き放つものです。

V0.0.107はHoloホスティング用

たくさんの機能や修正を加えたホロチェーンのバージョンを何度もリリースしてきましたが、HoloPortのバージョンは3ヶ月以上前のものです。これは主に、ホロチェーン自体がSQLiteという新しいデータベースエンジンに切り替えたためです。この変更は、シャーディングによってHoloChainを無限にスケーラブルにするという長期的な期待がありましたが、短期的には以前のデータベースエンジンであるLMDBに比べてパフォーマンスが大幅に低下していました。Holoチームは、これではElemental Chatのテスターに受け入れられないと判断し、SQLiteバージョンがそのスピードに匹敵するようになるまで、LMDBバージョンを使い続けることにしました。

SQLiteバージョンは、LMDBバージョンよりもさらに高速で、効率的で、安定しており、信頼性が高いことをお伝えできることを嬉しく思います。開発チームは最近、データベースレイヤーとゴシップ処理の最適化とバグ修正を行い、データの保存とゴシップ処理が高速化され、HoloPortは1台のマシンでより多くのユーザーを快適にホストできるようになりました。

とても良い結果が得られています。このバージョンはLMDBのパリティ目標を簡単にクリアしています。<span class="su-quote-cite"> Holochain v0.0.107でElemental Chatのストレステストを行った後のホロ社エンジニア、Alastair Ong氏のコメント</span>

アラステア氏と話した後、私はすべてのパフォーマンスベンチマークが超えられたことを知りました。わずかに改善されたものもあれば、桁違いに改善されたものもあります。あるElemental Chatベンチマークでは、すべてのエージェントが一貫性を保つのにかかった時間を測定するように設計されていますが、10.23分とかかっていたものが、わずか36秒にまで短縮されました(17倍の改善)。このようなパフォーマンスの向上は、リソース消費の大幅な削減にもつながります。別のテストでは、同じハードウェアで7倍のエージェント(ユーザー)数をホストすることができました。

指標によっては100倍以上の改善がある部分も測定しています。現在、実際ボトルネックになっているのは、ホロチェーン自体ではなく、テスト用のフレームワークのようです。

Holoチームは、このバージョンに移行できるようになったので、Elemental ChatとHoloアプリ群をアップデートして、このバージョンを活用する予定です。サービスロガー、Holoホストアプリ、HoloFuel、HoloPort登録アプリ、クライアント/ホスト接続コンポーネントには、以前から計画されていた機能や修正が加えられます。

また、より多くのホストやElemental Chatのテスターの参加を募ることができるようになり、HoloPortアルファプログラムへの道が開かれることになりました。HoloPortをお持ちの方は、以下の手順でプログラムに登録してください。

v0.0.107はDev Camp用

コミュニティ主導のDev Camp 8が来週から始まるというニュースをご存知でしょうか。Dev Campをサポートするために、私たちは参加者が良い経験をできるように、かなり安定したバージョンのHolochainを用意しました。今回のリリースは、多くの改良が加えられているので、参加者が開発を始めるための良いベースラインになると確信しています。

もちろん、Dev Campの期間中は毎週のようにHolochaineのリリースがありますので、より強固なものになっていくでしょう。今後も、変更点や新機能について、参加者の皆さんにお知らせしていきたいと思います。

Holochain v0.0.107変更点ログ

  • ソースチェーンへの同時書き込み緩和 (#985): この機能は前回のリリースで予定されていましたが、マージが不完全であったために機能しませんでした。
  • 1つのエージェントだけがフルシンクする (#978): この暫定的な修正により、同じDHTで複数のエージェントをホストしているコンダクター(Holoホストなど)が、DHTの同期に1つのエージェントだけを関与させることができるようになりました。これにより、フルシンクDHTにおけるゴシップのトラフィックが劇的に減少します。この機能は、設定パラメータnetwork.tune_params.gossip_single_storage_arc_per_spaceに隠されており、デフォルトでは無効になっています。Holochainのネイティブなインストールでは、この機能の恩恵を受けることはほとんどありません。(一方、Holo ホストは、快適に処理できるセルの数が最大で50倍になります)
  • SQLiteの接続パラメータを修正しました(#978)。これらの修正により、HDDベースのHoloPortが大幅にスピードアップしましたが、ネイティブのホロチェーンのインストールにも役立つはずです。これらの修正の一環として、SQLite の同期フラグを反映したdb_sync_modeという設定パラメータで書き込みの耐久性を調整できるようになりました。
  • Web happle bundleヘルパー (#991): これらの内部的な修正は、今後リリースされるHolochainランチャーがインストールされたhAppをより簡単に管理できるようにします。

Dev Campの盛り上がり

さて、私は開発者ではありませんが(少なくとも現在は)、Dev Campのお手伝いをさせていただこうと思いました。そこで、主催者やサポートチームの裏話を聞かせてもらったのですが、とても盛り上がっていました。1500人もの応募があったので、少し圧倒されましたが、みんなをよりよくサポートするために、Dev Campのフォーマットを変更しました。

ホロチェーンのコミュニティは世界中に広がっているので、理想的なタイムゾーンにいない人たちをサポートするために、Dev Campの内容を変更するのは適切なことです。ヨーロッパ、中東、アフリカのタイムゾーンを中心としたセッションではありますが、セッションは録画され、アメリカとアジア太平洋地域ではライブサポートセッションも行われます。また、参加者やサポートボランティアがいつでも会話できるよう、専用のDiscordサーバーも用意されています。さらに、フォーラムのDev Campセクションでは、より長いディスカッションが行われます。

あなたが作るアプリ「(ホロ)コモンズの悲劇」は、ターン制のゲームで、プレイヤーは自然資源を崩壊させることなく協力してリソースを消費しようとします。これは、仲間と一緒に学び、経験豊富な開発者から知恵を得ることができる形式で、最終的な一貫性(hAppデザインにおいて非常に重要なコンセプト)、CRUDチェーンリンク、アンカーシグナルなどについての理解を鍛えさせるものです。

各Dev Campは、コミュニティメンバーの少し異なるチームによって開催されます。このような大規模なイベントを開催するには、多くの労力と配慮と時間が必要ですが、彼らはそれをすべて無料で行っています。現在のチームであるNastasia、Alex、Tim、Guillem、Hedayat、Lily、Peter、Tatsuya、Sid、その他の多くの貢献者に感謝したいと思っています。

まだまだ登録は間に合います!

でも、来週から始まるので、急いでください!無料であり、カリキュラムはとても楽しそうだし、リーダー、ファシリテーター、教師、メンターなどの素晴らしいメンバーが揃っています。期間は6週間(途中に休憩あり)で、ヨーロッパのタイムゾーンでは毎週ライブセッションが行われ、アジア太平洋とアメリカではサポートセッションが行われます。また、参加者やサポートチームといつでも話ができるDiscordサーバーも用意されています。さあ、登録しましょう!

Holochain In Action:現実世界でのコンポーサビリティ

今日のAMAでは、話題はコンポーサビリティに移りました。開発者の方にはお馴染みの言葉ですが、そうでない方には、「ソフトウェアの塊を簡単に接着して新しいものを作る能力」という意味になります。

なぜこのようなことを気にするのでしょうか?一つのことに集中した質の高いコンポーザブルなソフトウェアモジュールは、それを見つけて使い始めた開発者の間で、爆発的な創造性を発揮することができるからです。

ソフトウェアを作るには良い方法だと思いませんか?私たちもそう思っていますし、ホロチェーンを使っている多くの開発者もそう思っています。

ホロカインアプリケーションのコンポーザビリティは非常に基本的なことなので、(Dev Campでは)それに続くアーキテクチャ的なことをカバーします。議題としては、アプリケーションが非常に多くの異なるパーツから構成されることを知った上で、どのように異なる方法でアプリケーションを構築するのか?です!<span class="su-quote-cite">Dev Camp 8リード・オーガナイザー、ナスタシア・エメリアノバ氏</span>
これは、アプリケーション開発の可能性を加速させるフレームワークの機能や性能のひとつです。Dev Campでは、開発者が難しい方法ではなく、他の人の専門知識や他の人が作ったものに頼ることができるということを、早い段階で理解できるような形で提供してくれるということで、私は非常に期待しています。<span class="su-quote-cite">マリー・カマチョ、Holoエグゼクティブ・ディレクター</span>

Holochain In Actionの最新セッション第18回は、hApp「Elemental Chess」をより深く掘り下げてみました。今回のセッションでは、アプリが実際にどのように構成可能なモジュールの集まりであるかを見ています。プレイヤーが人間が読める名前をつけるためのプロフィールモジュール、プレイヤーがお互いをゲームに招待するための招待モジュール、ゲームスペースへのアクセスを管理するための参加コード、そしてゲームを動かすエンジンであるhc_turn_based_gameモジュールです。その上に、チェスのルールを実際に実装したゾームと、それらをまとめるUIがあります。

彼らのhc_turn_based_gameの探求は、コンポーザビリティの力を示しています。つまり、実装時間のかかる部分がすべて構築されていれば、新しいゲームを素早く簡単に作ることができるのです。彼らはすでに三目並べを完成させており、次はElemental Go(囲碁)(プログラミング言語ではなくゲームのほう)に取り組んでいると聞いています。

 

(写真提供者:Ralph (Ravi) Kayden on Unsplash)