Yumeville

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

HoloFuelがコミュニティーテストフェーズに入る

令和2年7月9日

概要

HoloPortsを所有している方は、管理者パネルのアクセスを可能にするHoloFuelのテストリリースを待っている(そして少し焦っている)ことでしょう。GitHubリポジトリをフォローしている方は、アクティビティがあることを確認できますが、HoloFuelで何が起こっているのか、それが何を意味しているのかを正確に把握することは困難です。今回は、そのための要約でもあります。

また、開発者コミュニティが別のデベロッパーキャンプを開催しています! ホロチェーン開発を学びたいなら、今が適切な時期です! デベロッパーパルスは、他のホロチェーンを学んでいる開発者とつながり、既存の(そして非常に協力的な)hApp(ホロチェーンアプリ) 開発者コミュニティによってサポートされる優れた方法です。無料で、オンラインで、7月末にスタートします!

トピック

  1. Holoホスティングリリースチームが、次のHoloPortソフトウェアリリースに迫っています
  2. Holochainデベロッパーキャンプ第7弾に登録してください!

Holoホスティングリリースチームが、次のHoloPortソフトウェアリリースに迫っています

Holoの開発チームの日々の活動を見ることができない多くの方は、何が起こっているのかを理解するのは困難でしょう。現在、すべてコンポーネント(HoloFuelのDNAとUIを除く)のGitHubリポジトリが閲覧可能ですが、それ以上の説明のないコミットメッセージを見ても状況を把握することは困難だと思います。 Twitterでの定期的な開発アップデートはこの点でかなり有益な情報ですが、我々のツイッターをフォローしていない方のために、前回のHoloPortソフトウェアリリース以降に起こったすべてのことを要約して説明したいと思います。

去る2月に、HoloPortの所有者がログインして実際のhApps、特にHoloFuelのテストバージョンを使い始めることができる緊急アップデートへの期待に我々は興奮と共に直面していました。今では、それが予定通りに進まなかったこと、そして私たちが何度もその後、アルファ版リリースにあと少しで手が届く状況にあったことを幾度も皆さんにお知らせしてきました。読者は何が起こっているのか疑問に思っていたことでしょう。このHoloは結局は中身のない氷山の一角に過ぎないプロジェクトなのか疑問に思う方もいたはずです。

私たちは読者の度重なる不満や不信感を知っていましたが、そのような中、皆さんの根気強い支援継続に本当に感謝しています。現在、私たちの製品チームの開発速度は、主に「リリースチーム」の組成をしたことにより、この1ヶ月で急上昇したと思います。このリリースチームは、Holochainチーム、hAppy(ホロチェーンアプリ開発チーム)チーム、Holoチームのメンバーで構成されており、彼らの共通の目標は、HP AdminとHoloFuelが常に正常に動作するようにすることです。

このリリースチームは、HoloFuelを構成するすべてのコンポーネントの知識を共有しているため、情報のギャップがほとんどなく、結果として開発速度が低下することはありません。また、彼らは他には何もしていないので、次から次へと問題の解決に取り組んでいます。バグを特定し、それを迅速に解決するためにチームが大挙して取り組んでいます。著者の私が見るからに、問題の複雑さに応じて、数分からその週内で解決という早さでバグを修正しています。

現在どこまで来ているのか?

では、どのような問題が現在、検出されているのでしょうか?下記に完全なリストを記載したいと思います。(省略:HolochainのCPUとネットワークのパフォーマンス、DHTの一貫性の問題、HoloFuelのバグ)

  • HoloPortソフトウェアのアップデートでコンダクターがソースチェーンの履歴を失う問題 – 修正済み
  • HoloFuelテストノードの不正なソースチェーン状態 – 修正済み
  • HoloFuelのニックネームが変更できないバグ – 修正済み
  • 自動更新サーバーのハードウェアの障害 – 修正済み
  • HoloPort Nanoディスクイメージの問題 – 保留中
  • 保留中のトランザクションをチェックするパフォーマンスのボトルネック – 修正済み
  • 複数のZome関数(トランザクションを完了している間に保留中のトランザクションをチェックするなど)がUIを遅くする – 修正済み
  • 様々なHoloFuel DNAとUIのロックアップ – 修正済み
  • 受理した取引が完了しないバグ – 修正済み
  • 辞退した取引が適切にキャンセルされない – 修正済み
  • 導体とsim2hサーバ間の通信が多い – 一部修正済み
  • 停滞時にUIがDNAに過剰に通信する – 修正済み
  • 難易度の高いHoloPortの工場出荷時リセットを、より簡単なUSBキーの手順で修正
  • キーボードとモニターが接続されていないHoloPortでトラブルシューティングができない問題 – リモートSSHログインオプションを可能にすることで修正
  • HoloPort登録の問題 – 修正済み
  • 「小切手」が間違った取引に誤って適用された場合 – 修正済み
  • 複数の保留中のトランザクションを保つことができない – 回避策の実装済み、修正を実装中
  • 同一の詳細を持つ2つのトランザクションが同じトランザクションとして扱われるバグ – 修正済み
  • 拒否した取引を履歴に持つユーザーの残高の不整合 – 修正済み
  • 保留中のトランザクションが存在中にノードを停止・起動する際の脆弱性 – 修正済み
  • コンダクターとsim2hサーバ間で、DHT上で保持されたデータの複数の不整合 – 修正済みされ、パフォーマンスの最適化中
  • 遅いインターネット接続でのトランザクションの完了に失敗 – 修正済み
  • オフラインモードで作成された複数のトランザクション確認メッセージが処理されず、ボトルネックの原因となっていた – 修正済み
  • 高レイテンシー状態でのレシートの重複作成がソースチェーン破損の原因となる問題 – 修正済み
  • トランザクションを検証する際のバックグラウンドでのCPUとネットワークの使用量が多い – ほとんど修正済み
  • DHTからのバリデーションデータの取得が非効率であるため、ネットワークへの参加時にCPU使用率及び、ネットワーク上での通信が多くなる問題 – ほとんど修正済み
  • トランザクションが完了または拒否された後のUIの更新が遅い – 保留
  • システムの各部のレイテンシー問題 – 修正中

これらのバグのほとんどは、私たちを驚かせるものではなく、複数のパーツを有する複雑なソフトウェアを開発した結果として生じたものです。著者である私は、開発チームが最初にHoloFuelのリリースに集中することを決めたのは嬉しいことだと思ってます。複雑なhAppであるため、Holochain自体の問題の検出にも最も効果的なアプリであるからです。HoloFuelアプリは、多くの場合、ホロチェーンの最初の統合テストになっています。

一方で、ここ数ヶ月の問題点の中には、Holochainのコードベース自体をじっくり見ているものもあります。過去のDev Pulsesにも書きましたが、いくつかの変更に取り組んでいます。

  • デバッグは、将来の問題のデバッグを容易にするだけでなく、より速く、より無駄のないシステムにホロチェーンをするために、コアの簡素化が必要な場所を示してくれています。これは、HoloPort Nanoのオーナーを含め、すべての人がワクワクできる内容です。
  • 私たちは、DHTの一貫性を向上させ、ネットワークのチャタリングを減らす方法を同時に特定しました。
  • ソースチェーンのフォーク検出やエントリーの更新など、バリデータ(検証者)間の合意を必要とする特定のプロセスを表現するための、よりシンプルで堅牢な方法を検討しています。
  • 現在のWebAssemblyエンジンであるwasmiを置き換えようとしています。私たちがホロチェーンの構築を始めたときには最先端のエンジンでしたが、その後、他のエンジンにも何百倍も高速に動作するものが出てきました。WASMコードをネイティブに近い速度で実行するwasmerをベースにした代替エンジンを試作しています。これはWASMコードをネイティブに近い速度で実行するもので、起動コストもはるかに小さく、メモリ管理もシンプルであることがわかりました。
  • 私たちは既存のストレージエンジンを非常に高速なデータベースエンジンであるLMDB置き換え、より効果的な使用方法を検討しています。

ホロチェーンを開発する旅は間違いなくスプリントというよりもマラソンであり、チームにとってもサポーターにとっても疲れることもあったと思います。しかし、特にこの1ヶ月間は多くの問題を解決してきたので、そう遠くないところで、ゴールの旗がはためいて見えていることに著者である私はワクワクしています。

Holo fuelの次のステップは?

我々の開発の優先順位は、常に一貫性を第一に考え、次にパフォーマンスを重視してきました。Holo Fuelが正常に稼働している今、コミュニティーテスターは、献身的で熟練なボランティアのグループで、彼らはTest Fuelトランザクションを通してテストを実行し、我々の開発者がテストのログをダウンロードできるようにHoloPortsをテスト用に開放することを約束してくれました。これは、高クオリティなデータを用いて小規模な規模でのパフォーマンスの検証を支援するものであり、小規模にスタートして持続可能なペースで成長させていくという当社の実践に沿ったものです。このラウンドを通過した後、リリース前のテストのためにボランティアで参加してくれたHoloPortの所有者のより大きなグループにテストを開放します。すべてがうまく機能していることが証明されたら、大規模なアルファテストに移行します。

これはHoloFuelの最終バージョンではないことに注意してください。私たちはこのバージョンを使ってデータを収集し、HoloFuel、Holochain、Holo Hostを改良して、クラウドホスティングの実用可能な代替手段となり、ブロックチェーンの優れた競争相手となるようにしていきます。

Holochainデベロッパーキャンプ第7弾に登録してください!

コミュニティが運営する6週間のオンラインホロチェーンデベロッパーキャンプの次のセッションが7月28日に始まります。もしあなたが分散型アプリのアイデアを持っていて、適切なフレームワークを探しているのであれば、コミュニティはあなたを経験豊富でフレンドリーなhApp開発者のグループと一緒に参加して学ぶように招待しています! 参加者には、Udemyのような機能を持つLeaP (Learning Pathways)と呼ばれる小さなアプリを開発していただきます。このアプリは、便利なHolochainに適したデザインパターンをたくさん使って作業する機会を得ることができるほどの複雑さを持っているアプリです。バックエンド(ホロチェーンのDNA)はRustで書かれ、フロントエンドはTypeScriptで書かれ、両者の間の通信レイヤーとしてApollo GraphQLを使用しています。

RustやHolochainに慣れていない場合は、講師が基本的なことを説明しますので、他の言語やフレームワークの知識をすぐに応用することができます。主にしっかりデザインされたHolochainアプリを開発することに焦点を当てます。

週に2回のオンラインビデオセッション(時間が取れない人のために録音もされています)、コードレビュー付きの非同期の宿題提出、フォーラムのプライベートエリアでのディスカッションがあります。全て無料ですので、是非参加してください!

https://holochain.typeform.com/to/ptZ79fac で登録してください!お待ちしております。

最新版

Holochain Coreリリース: 0.0.49-alpha1| 変更ログ 

Holonixリリース:v0.0.79 | 変更ログ

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

hc-happ-scaffold: 0.1.0 (https://holochain.loveにて使用可能) | Project

Holoscapeリリース:v0.0.9-alpha (Holochain Core 0.0.47-alpha1を使用中)|ダウンロード

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

  • Holonix: 0.0.79
  • Holochain Core: 0.0.49-alpha1
  • hc-happ-scaffold: 0.1.0

出典:HoloFuel Enters Community Testing Phase