https://medium.com/feed/milkomeda%E6%97%A5%E6%9C%AC
top of page

「AlgoKit 3.0」のご紹介:アルゴランド開発者のための新時代



「AlgoKit 2.0」のエキサイティングな発表から1年、私たちは最も包括的な開発者向けツールキット「AlgoKit 3.0」を発表できることを嬉しく光栄に思います。この画期的なリリースは、強化されたツール、合理化されたワークフロー、そして強力な新機能により、開発者がアルゴランド上で構築する方法を変革します。「AlgoKit 3.0」は、これまでで最も重要なアップグレードであり、TypeScriptスマートコントラクト開発サポート、ビジュアル・デバッグ、高度なテスト・フレームワーク、豊富なブロックチェーン・エクスプローラー、ビジュアル・トランザクション・ビルダー、完全に再設計・再構築された開発者ポータルなど、アルゴランドでの開発をこれまで以上にアクセスしやすく、効率的で強力なものにするための機能がすべて搭載されています。


Web3を取り巻く状況は急速に進化を続けており、開発者はパワーとシンプルさを兼ね備えたツールを求めています。アルゴランド上で複雑なDeFiアプリケーションやNFTマーケットプレイス、またはエンタープライズ・グレードのソリューションを構築する場合でも、「AlgoKit 3.0」がブロックチェーン開発のあり方を再考しました。



Algorand TypeScript:TypeScriptのパワーをWeb3にもたらす


3.0ツールキットにおける最も重要な進化は、非常に人気の高いプログラミング言語であるTypeScriptの構文的および意味的に忠実に実装されたAlgorand TypeScriptベータ版リリースです。これにより、開発者は既存のツールチェーンとシームレスに統合されたTypeScriptを使用して、アルゴランド・ブロックチェーン上でアプリケーションを構築できるようになります。2024年初頭にリリースされたAlgorand Pythonに続き、これは「開発者がいる場所」にアルゴランドを導入することに重点的に取り組んでいることを示しています。


Algorand TypeScript がもたらす主な利点:


  • TypeScriptのエコシステムを活用:既存のTypeScriptの知識を活用し、強力で広く利用可能なIDE統合やツールの恩恵を受けることができます。

  • 統合されたコードベース:フロントエンドからバックエンド、スマートコントラクトまで、TypeScriptを使用してすべてのスタックを構築し、完全に統合されたコードベースを実現できます。

  • テストの強化:既存のTypeScriptのテスト技術を適用し、エンドツーエンドの信頼性を確保できます。

  • 人材プールがさらに充実:フロントエンド開発者はスマートコントラクト開発により貢献しやすくなり、フロントエンド開発者はアルゴランドのフルスタック開発者になることができます。


さらに、「AlgoKit 3.0」では、Algorand TypeScriptとAlgorand Python用のコンパニオン・ユニット・テスト・ライブラリが導入されました。これらのパッケージは、ネットワーク接続を必要とせずにAVMの主要な動作をシミュレートし、使い慣れたインターフェースで高速かつ信頼性の高いテスト機能を提供します。


Algorand TypeScriptは、世界中の何百万人ものTypeScript開発者にとって、ブロックチェーン開発がより身近になるという大きな前進であり、アルゴランド開発者エコシステムをさらに拡大するものです。


TypescriptもしくはPythonでスマートコントラクトを作成

TypescriptもしくはPythonでスマートコントラクトを作成



Lora the Explorer:アルゴランド・ブロックチェーンの可視化


AlgoKitの開発アシスタントであるLora(Live On-chain Resource Analyzer:ライブ・オンチェーン・リソース・アナライザー)は、アルゴランド開発者にとって欠かせないツールです。この強力なビジュアル・インターフェースにより、アルゴランド・ネットワークをこれまでにない方法で探索し、操作することができます。機能には以下が含まれます。


  • 探索:直感的なUIでアルゴランド上のアカウント、アセット、アプリケーションを検査し、リッチでインタラクティブなダイアグラムで複雑なトランザクションを視覚化することで、トランザクションの流れや関係性を一目で把握できます。

  • アプリ・ラボ:シンプルで直感的なダッシュボードで、アルゴランド上のアプリケーションをデプロイ、操作、管理できます。

  • トランザクション・ウィザード:視覚的にトランザクションを構築し、手動でのトランザクション構築の複雑さを排除しながら、トランザクション・パラメータと実行を完全に制御できます。

  • ファンド:ディスペンサーUIを使用して、TestNetまたはLocalnetアカウントに素早く簡単に資金を供給します。


Loraはアルゴランドに視覚的な開発体験をもたらし、参入障壁を低減し、開発ワークフローをよりシームレスで直感的なものにします。



Lora the Explorerを使用してオンチェーン資産を検査

Lora the Explorerを使用してオンチェーン資産を検査



Loraの豊富なトランザクション・ビジュアライザーを使用して、トランザクション・フローを簡単に検査

Loraの豊富なトランザクション・ビジュアライザーを使用して、トランザクション・フローを簡単に検査



AVMデバッガー:スマートコントラクト実行の謎を解く


スマートコントラクトのデバッグは、ブロックチェーン開発における最も重要な課題の1つです。多くの経験豊富なアルゴランド開発者は、エラー・メッセージ内のTEALオペコードを解析し、コード内の該当箇所を特定し、エラーが解決するまでコードを体系的にコメントアウトするといった作業に、フラストレーションを感じた経験があるでしょう。しかし、VSCode用の新しいAVMデバッガー拡張機能のリリースにより、そのようなフラストレーションや面倒な作業は過去のものとなりました。開発者は現在、以下のことが可能になりました。


  • スマートコントラクトの実行を視覚的にトレース

  • 高レベル言語のソースコードまたはTEALでコードを1行ずつステップ実行

  • 状態変更をリアルタイムで確認

  • 複数の言語を同時にデバッグ:Algorand Python、Algorand TypeScript、またはTEAL


この視覚的なデバッグ環境は開発プロセスを変革し、反復サイクルを削減し、複雑なスマートコントラクトのやりとりをはるかに透明化します。



TypeScript、Python、またはTEALのスマートコントラクトの視覚的なデバッグをサポート

TypeScript、Python、またはTEALのスマートコントラクトの視覚的なデバッグをサポート



Utilsの再設計:開発体験の加速


Utilsは、PythonとTypeScriptの両方で利用可能なAlgoKitライブラリであり、アルゴランド上のアプリケーションの構築、デプロイ、管理をより簡単、迅速、安全に行うための直感的で生産的なユーティリティ関数を提供します。Utilsは、以下の主要な機能を提供します。


  • ブロックチェーンの基礎:アルゴランド・クライアントの作成と管理、トランザクションの構築と署名、アカウントの作成、資金調達、管理、ASAの操作など。

  • 合理化されたスマートコントラクト:型付きおよび型なしのAppクライアントを使用してスマートコントラクトを開発、展開、および操作し、チェーン上の状態を管理。

  • ネットワーク構成:LocalNet、TestNet、MainNet、およびその他のネットワークをシームレスに切り替え、algod、indexer、およびkmdエンドポイント用のクライアントを構成および管理。

  • 強化されたIndexer操作:高速かつ信頼性の高いチェーン上の検索および照会を実行。

  • 堅牢な開発ツール:統合されたテスト・フレームワーク、デバッグ技術、およびログを活用して、エンドツーエンドの開発を加速。

  • 自動リソース設定:単一の構成フラグを設定することで、Utilsがボックス、アプリ、アセット、およびアカウントの参照をすべて設定し、アプリ・コールを成功させる。


「AlgoKit 2.0」のリリース後、複数のクライアントがうまく統合されず、開発者がAlgoKitとAlgorand SDKの間で頻繁に切り替えを強いられるという問題に開発者が苦労しているというフィードバックをいただきました。さらに、Utils PythonはUtils TSライブラリとの機能的な同等性を欠いており、生成されたアプリのクライアントはUtilsとの機能的な一貫性を欠いていたため、混乱が生じていました。


Utilsの再設計により、これらの問題は解決されました。直感的なAlgorandClientという単一のエントリー・ポイントの下にすべてを統合します。Pythonの機能を拡張し、複雑なタイプのインターフェースを簡素化し、独立した存在ではなく、Utilsの薄いラッパーとして機能する、より堅牢なアプリ・クライアントを提供します。これにより、最終的にはよりまとまりのある開発者体験を提供します。開発者が必要とするほとんどのアクションは、スマートコントラクトとオンチェーンでやりとりするための型付きメソッドを含む、単一のクラスのメソッドとして利用できるようになりました。


新しいAlgorandClientオブジェクトを使用して、ステートレスな関数ベースの設計からステートフルなクラス・ベースの設計に移行することで、UtilsはIntellisenseによるよりシンプルな消費と調査体験を可能にします。この設計により、冗長な値(例:algodクライアント)の受け渡しが減り、トランザクション・パラメータなどの一般的に取得される値をキャッシュすることでパフォーマンスが向上します。


Utilsライブラリは、Web3に最新のソフトウェア開発手法をもたらし、開発者が最先端のコード・ライブラリに期待する厳密性、抽象性、効率性を備えた構築を可能にします。



サブスクライバー:強力なリアルタイム監視


PythonとTypeScriptで利用可能なサブスクライバー・モジュールは、アルゴランドのオンチェーン・イベントにリアルタイムでアクセスできる軽量なライブラリです。新しいブロックやトランザクションに簡単にサブスクライブ(購読)し、設定可能なフィルターとともに、最小限のレイテンシーでオンチェーンのアクティビティと同期する、反応が良く、イベント駆動型のアプリケーションを構築できます。主な機能は以下の通りです。


  • 柔軟なフィルタリング・オプション:トランザクションをタイプ、送信者、受信者、アプリのやり取り、アセット、メモの内容などによってフィルタリングする機能。

  • ARC-28イベントの購読:イーサリアムのイベント監視機能と同様に、ARC-28イベントを購読。

  • 残高変更の追跡:AlgosとASAsの両方について、詳細なレポートで残高変更イベントを簡単に監視。

  • 最高水準の内部トランザクション・サポート:Indexerクエリだけでは見逃してしまうネストされたトランザクションを捕捉する機能を提供。

  • きめ細かい同期制御:チェーンの先頭または先端から開始するオプション、バッチ・サイズの制御、同期パターンの優先順位の処理により、同期動作を効率的に制御。



開発者ポータル:アルゴランド開発のためのリソース・ハブ


これらの強力な新ツールを補完するために、私たちはアルゴランド開発者ポータルを一から完全に作り直しました。ユーザーへのインタビューや、ユーザーへの指導やサポートの経験から、アルゴランド開発者(およびLLM)が迅速かつ効果的に構築を行うには、現代的で完全かつ最新のドキュメント一式が必要であることが分かりました。


2025年において、人間の開発者がWeb3のプログラミング・パラダイムのメンタルモデルを作成する際に役立つ技術文書を提供することはもちろん、今日の開発者のワークフローにおいて重要な役割を果たすことが多い大規模言語モデルの両方のニーズを満たす技術文書を提供することが、私たちに課せられた責務です。新しいポータルでは、以下の機能を提供します。


  • 概念的に整理されたコンテンツ:開発者は、アルゴランドのプリミティブがどのように動作し、どのように組み合わさるかについての知識を簡単に構築できます。

  • AlgoKit「取扱説明書」:優れたツールにはすべてマニュアルが付属しており、AlgoKitに関するすべての情報が1か所にまとめられているため、開発者は自由に利用できるすべての情報を把握できます

  • ガイド付きチュートリアル:ゼロからスタートして、すぐに使える開発環境を構築し、スマートコントラクトをわずか数分でデプロイできます。

  • 豊富なコード例:Python、TypeScript、TEALによるAlgoKitライブラリの最新バージョンを使用したアルゴランド・コンセプトの適用方法のデモをご覧いただけます。

  • ノード運営者ハンドブック:アルゴランドのアクセスが容易なことで有名なバリデータ・ノードを運営するための、とても簡単なステップバイステップの指示。

  • リファレンス文書:すべてのAlgoKitライブラリとツールの完全なAPIリファレンス情報をワンストップで入手可能。


この新しい開発者向けポータルは、Starlight docsフレームワークを使用してAstroで構築されており、今後、新しいコンテンツやインタラクティブな体験をより迅速に追加できる新しい基盤としても機能します。今後数か月の間に、インタラクティブなチュートリアル、コーディングの課題、ガイド付き学習コース、ハウツー・ガイドなどを順次追加していく予定です。


始めよう


アルゴランドでの開発の未来を体験してみませんか?まずは、以下の手順で始めてみましょう。


  1. クイックスタート・ガイドに従ってAlgoKitをインストール

  2. 新しい開発者向けポータルを探索

  3. 他の開発者とつながったり、フィードバックを共有したりするために、Discordコミュニティに参加


「AlgoKit 3.0」には、アルゴランド上で構築するための最高のツールを開発者に提供するという私たちの取り組みが体現されています。皆さんがAlgoKitを使ってどのようなものを作り出すのか、今から楽しみでなりません。


素敵なものを構築していきましょう!



Comments


bottom of page