Yumeville

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

HolochainアプリをRSMに移行する

令和2年11月02日

概要

どうやら私のすぐ南で政治的なことが起こっているようでして、読者の注意が散漫になっているかもしれませんね。そんな中、この記事を読んでくれていることにまずは感謝したいです。(ところで、私は暗号化されたデータの完全性とデジタル免疫システムを組み合わせれば、選挙での不正行為を減らすための道のりなると思っています。言ってみただけですが……。)

Holochain RSMが急速に完成へと近づき、Holochain Reduxがメンテナンスモードに入った今、そろそろ皆さんがアプリの移行を始める時期だと思っています。今回はその理由と方法についてお話します。また、最後にHoloPort Nanoの状況についてもちょっとしたアップデートがあります。

トピック

  1. Holochain RSMにアップグレードする理由は?性能の比較
  2. Holochain RSMのインストールとアプリの移行のためのリソース
  3. HoloPort Nanoのクイックアップデート:テストユニットが届きました

Holochain RSMにアップグレードする理由は?性能の比較

 

Holochain上で構築されているプロジェクトの中でも特に有名なRedGridのマイグレーション体験を調査する記事を書きました。先月報告したReduxと比較して約15,000倍のパフォーマンスの向上という、非常にエキサイティングな結果が出ています。これについて少し説明したいと思います。

テストでは、RedGridがモナッシュ大学のNet Zero Initiativeのために開発している「トランザクション・エネルギー市場」(TEM)ソフトウェアのベンチマークを調べました。このアプリでは、エネルギー消費者はエネルギー生産者に将来の時間帯の電力供給を入札するように依頼することができます。将来の分散型グリッドでは、どのような人でも電力の消費者と生産者の両方になることができるため(太陽光発電の屋根を持つ家庭など)、このアプリケーションでは大規模な並列通信と処理が求められました。当然のことながら、ブロックチェーンは選択肢のリストにすらありませんでした。

この特定のベンチマークでテストされているのは、単一の消費者ノードが29の電力生産者からの無数の入札に対応する性能だけで、消費者のソースチェーン上の1秒あたりの書き込みオペレーションで測定されます。これは、データ量の多いエネルギー市場取引所にとって重要な指標であるスループットとレイテンシの基本的ではありますが、まともなテストになります。

最初のベンチマークは、Holochain Redux上で実行され、3分間に1回の書き込みオペレーションしか計測されませんでした。しかし、Holochain RSMに移行した後、消費者ノードは1秒間に87回の書き込みを維持することができました。これはつまり書き込み速度が15,000倍に増加したということです!

消費者ノードのCPUとRAMが最高速度になっていないことに気づいたので、RedGridチームになぜHolochainを最大限に使用しなかったのか聞いてみました。彼らの答えは、消費者ノードがクラッシュするバグがあったからだとのことでした。今朝、Holochainのコアの開発チームがバグの修正を見つけ、毎秒500回の書き込みでテストできたとの情報を得ました。このバグ修正がRedGridの手に渡ると、彼らは少なくとも 5 倍以上の改善を見ることになるだろうと私は予想しています。それはつまり、Holochain旧バージョンより40000倍の速度で書き込みが可能になるということです。

これだけでは移行する理由にならないと言われる方がいるかもしれませんが、RedGridの開発チームはなんとコードベースを約半分に縮小することに成功し、その結果、より保守性が向上しました。

このような劇的な改善を目の当たりにして、私は興奮しました。Holochainのコアの開発チームは、ゼロからHolochainを書き直すという創始者Art氏の提案を考慮したときに、大きなリスクを冒しましたが、それが実を結びました。

Holochain RSMのインストールとアプリの移行のためのリソース

さて、このパフォーマンスを試すためにアプリをアップデートしたいと思っている人がいるでしょう(または、過去にHolochainが不足していると感じた場合は、もう一度Holochainを試してみたいと思っている人もいるかもしれません)。

私たちは、バイナリとツールを配布するためにnix環境であるHolonixを引き続き使用しています。しかし、Holochain.loveリリースにはRSMは含まれていません。つまり、下記の少し長いインストール手順を使用する必要があるということです。

  1. Holochainレポジトリをクローン
    𝚐𝚒𝚝 𝚌𝚕𝚘𝚗𝚎 𝚑𝚝𝚝𝚙𝚜://𝚐𝚒𝚝𝚑𝚞𝚋.𝚌𝚘𝚖/𝚑𝚘𝚕𝚘𝚌𝚑𝚊𝚒𝚗/𝚑𝚘𝚕𝚘𝚌𝚑𝚊𝚒𝚗
    𝚌𝚍 𝚑𝚘𝚕𝚘𝚌𝚑𝚊𝚒𝚗
  2. nix-shellに入ってください
    𝚗𝚒𝚡-𝚜𝚑𝚎𝚕𝚕
  3. RSM バイナリはまだビルドされてインストールされていないので、インストールしましょう
    𝚑𝚌-𝚒𝚗𝚜𝚝𝚊𝚕𝚕

開発ツールを使い始める方法については、レポジトリのREADMEに詳しく書かれています。

すべての設定が完了したら、アプリの移行を開始しましょう。まずはこのガイドを読んでみましょう。hAppsに積極的に取り組んでいる開発者や、RSMについて他の人に教えている人たちによって書かれています。これがあなたの作業のスタートになることを願っています。

注意: この移行ガイドはRSMが成熟するにつれて変更されます。HDKドキュメント(まだオンラインにはなっていませんが、ローカルで生成することもできます)と並んで、RSM用のアプリを書くための最も完全な情報源となっているでしょう。最終的にはこのガイドを停止してと思っていますが、それに代わるしっかりとしたドキュメントができるまでは閲覧できます。もし間違いや情報の欠落を発見した場合は、Holochain Open Dev Blog のレポジトリにプルリクエストを送ってください。

開発者向けのドキュメントサイトには、移行作業に便利なRSMリソースのリストもあります。

HoloPort Nanoのクイックアップデート:テストユニットが届きました

HoloPort Nanoの最初のテストユニットがチームメンバーの手元に届いており、11月の第1週までにはすべてのユニットが届くと予想しています。Holochain RSMをHoloPortのOSに統合するために多くの時間が投入されているのを見てきましたが、Nanoが世界に出荷される頃には、RSMがReduxを完全に凌駕していると想像しています。この記事で見てきたように、RSMはNanoの無駄のないハードウェア上での優れたhApp(ホロチェーンアプリ)のパフォーマンスに欠かせないものになるでしょう。そして、それはより多くのホスティング容量を意味し、それはあなたにとってより多くの潜在的な収益を意味します!

開発状況

最新版

https://holochain.loveにて使用可能なバージョン

  • Holonix: 0.0.81
  • Holochain Core: 0.0.51-alpha1
  • hc-happ-scaffold: 0.1.2

出典:Migrating Your Holochain App To RSM