Yumeville

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

Dev Camp 8が2週間後にスタート

令和3年09月17日
ホロチェーンの開発チームは、ホロチェーンのコンダクター、HDK(ホロチェーン開発キット)、およびサポートライブラリを毎週定期的にリリースしていきます。この定期的なリリースにより、安定性、パフォーマンス、開発者の利便性が徐々に向上していきます。9月28日から始まるDev Camp 8まで2週間を切ったタイミングでのリリースです。ついにDev Campがやってきました!

Dev Camp 8:大勢の参加者とエキサイティングなカリキュラム

 

そう、コミュニティ主導のDev Camp 8がついに開催されようとしているのです。私たちは皆、その反響の大きさに驚かされています。主催者は世界中から1500人以上の応募を受けました。これは、前回のDev Campの7倍にあたります。これは嬉しいことですが、主催者はこれほど多くの参加者にどう対応するかを考えなければなりませんでした。そこで彼らは、この2、3カ月の間に、開発者コミュニティやHoloの組織と戦略を練り、すべての人にとって成功するように努力してきています。

また、Dev Campには必要ありませんが、Dev Campで使用されるいくつかのツールに必要な新機能も追加されています。これらのツールは、エンドユーザー用のhAppのランナーであるランチャーと、新しいRAD(高速アプリケーション開発)ツールの始まりであるcreateです。ランチャーをサポートするために、Conductor admin APIには`UninstallApp`エンドポイントが追加され、新しいWeb hAppバンドルフォーマットが用意されています。

私にとっては、Launcher、create、web hApp bundlingは大きなニュースのように感じます。とはいえ、これらはまだ本番での使用には間に合いませんので、後ほど詳しくご紹介します。

Dev Campへの参加登録はまだ間に合います!

はい、そのとおりです。膨大な数の応募があったにもかかわらず、また、開始まであと12日しかないにもかかわらず、Dev Campに読者のあなたはまだ参加することができます。無料であり、カリキュラムはとても楽しそうだし、リーダー、ファシリテーター、教師、メンターといった素晴らしいメンバーが揃っています。開催期間は6週間(途中に休憩あり)で、ヨーロッパのタイムゾーンでは毎週ライブセッションが行われ、アジア太平洋とアメリカではサポートセッションが行われます。また、Discordサーバーが用意されており、いつでも参加者やサポートメンバーと話すことができます。

Holochain v0.0.106 リリースノート

シャーディングが搭載されました(不完全)

シャーディングのコードはすべて書き込まれ、統合されていて、設定でオンにすることができます。これを無効にすると、ホロチェーンのコンダクターは、すべてのノードがすべてのデータのコピーを保存する「フルシンク」モードで、これまで通りに動作します。これは、シャーディングのテストが完了するまでの間、HoloPort上でHolochainが展開される方法です。

もしシャーディングを試してみたい場合は、以下の方法でコンダクターの設定でシャーディングをオンにできます。

network:
# … transport config excluded …
tuning_params:
gossip_dynamic_arcs: true

また、さらに冒険したい場合は、他のゴシップ・チューニング・パラメーターを使うこともできます。

Web hApp バンドル

hAppには、ホロチェーン側に必要なDNAを束ねたhApp bundleフォーマットがすでに存在します。hc appコマンドを使うと、hAppのマニフェストファイルを受け取り、.happという拡張子のついたバンドルを作成することができます。

この新しいWeb hAppのバンドルとマニフェストのフォーマット(ソースコードへのリンク、ドキュメントはまだ公開されていません)では、Web UIのアセットが詰まったZIPファイルを、hAppの残りの部分と一緒に、.webhappという拡張子のバンドルに含める機能が追加されました。これは、Holoのホスティングとランチャーの両方で共通のフォーマットとして使用されます。

すべてのチェンジログ

  • [この機能はすでに含まれていますが、マージの問題で非アクティブになっていました。来週のリリースでは再び有効になります。] ソースチェーンへの同時書き込みを緩和しました (#939#941)。UI からたくさんの zome 呼び出しを行うと HeadMovedエラーが発生する場合、この新機能が役に立つかもしれません。他の関数に先を越された場合にその関数を再度呼び出すのではなく、その書き込みのバッチを新しいチェーンの先頭に「リベース」するように指定できます。これは、厳密なソースチェーンの順序付けを必要としないエントリーロジックのためのオプションです。
  • WebAppManifesthc web-app (#973): これは、DNAバンドルとウェブベースのUIの両方を含むhAppのためのバンドルフォーマットの始まりです。このフォーマットはランチャーとHoloホスティングアプリの両方で使用される予定です。
  • UninstallApp(#969): この管理APIエンドポイントはすでにスタブされていましたが、今回から機能するようになりました。これにより、ランチャーのようなhAppマネージャがhAppを完全に削除できるようになりました。
  • シャーディングがコンパイルされました (#943): 機能フラグの後ろに隠されていたシャーディングは、コンダクターの設定パラメータnetwork.tuning_params.gossip_dynamic_arcsでオンにすることができるようになりました。
  • ハッシュはデフォルトではBase64文字列にシリアライズされなくなりました。この動作に依存する場合は、zomeのCargo.tomlファイルのholo_hash依存関係に以下のように “encoding “機能フラグを追加してください。
holo_hash = {version = “0.0.6”, features = [“encoding”]}
  • Timestamp構造体が変更されました。もしあなたのzomeコードやクライアントコードが直接Timestampやそのシリアライズされた表現を扱うのであれば、いくつかのリファクタリングが必要になるかもしれません。それ以外の場合は、HDK0.0.106に対してzomeを再コンパイルするだけで済みます。
  • sys_timeDurationではなくTimestampを返すようになりました。

ドキュメンテーション・ドライブの更新情報:新しい開発者のための新しいグッズ

数ヶ月前、コミュニティ開発者のConnor Turland氏がDocumentation Driveを立ち上げました。ここでは、その活動から生まれた3つのエキサイティングなことをご紹介します。

アプリケーションアーキテクチャ説明文の更新

コア・コンセプトの中で、私が最も満足できなかったのはアプリケーションアーキテクチャの説明部分でした。私は、アプリケーションがどのように構築され、実行されるのかをうまく説明できていないと感じていましたが、Connor氏も同じ意見でした。そこで、彼が書き直し、私が修正し、新しい写真を追加して、最新版が完成しました。今までホロチェーンスタックを理解できなかった人も、これからは理解できると思います!(また、ドーナツ🍩を使って説明はもうしていません。エージェント中心主義をよりわかりやすく説明しているので、理解しやすくなっていると思います)

hApp開発のチュートリアル

Connor氏とJost Schulte氏によって書かれたhapp-client-call-tutorialでは、UI をhAppに接続する方法を(TypeScriptとRust の両方で)説明しています。また、happ-build-tutorialでは、hAppの構造、書き方、コンパイル、実行の基本を説明しています。

ホロチェーンコミュニティwiki

コミュニティのナレッジ・リポジトリは、しばらくの間、切実に必要とされていました。これまで開発者は、質の高い情報を得るために、フォーラムの投稿、Open Devのブログ投稿GitHub Readmeデベロッパーパルスなどを調べなければなりませんでした。しかし今では、それらの中でも最も優れたものを掲載する場所があります。コミュニティ・ウィキには、すでに多くの素晴らしいガイドや手順説明がありますが、いつでも投稿の余地があります。技術的には公式なリソースではありませんが、ここに記事を書いている人たちは非常に優秀なので、おそらく今は公式の開発ポータルよりも役に立つと思います😊

Holochain In Actionのビデオ

Holochain In Actionは、Holochainを積極的に構築し、学ぶ開発者のコミュニティです。以前にもご紹介し、コミュニティへの参加を呼びかけましたが、毎週行われているセッションの記録を共有すべきだと思いました。

それでは、最新のセッション17から見ていきましょう。このセッションでは、Elemental ChessのhAppが紹介されており、プレイヤーのプロフィールやゲームの招待をどのように実装しているのか、コードを掘り下げて説明しています。ソーシャル要素のあるhAppを作っている人、特にゲームのhAppを作っている人には、ぜひ見てほしい内容です。

 

今週はたくさんの出来事を紹介しました。開発者のエコシステムは、私が追いつけないほどの速さで成長しています!

(写真提供者:Leon Contreras on Unsplash)