🐘

【日本語】Arweaveの「AO」テストネットチュートリアル - 準備編

2024/03/05に公開

【日本語】Arweaveの「AO」テストネットチュートリアル - 準備編

以前から注目している Arweave が AOなるHyper Parallel Computerを開発したということで調べていると、現在テストネットで公開していたので触ってみることにしました。
親切にもCookbookが用意されていていますので、それに沿って進めていきます。
今回は実際にクエストを進めるまでの準備段階までを記載しています。

注意点


AOとは?

公式 -SPEC-

公式の概要部分を要約しました。

aoコンピュータは、Arweaveネットワーク上で稼働するコアデータプロトコルに従うノードのネットワークから生まれる、アクター指向のマシンです。
aoコンピュータは、分散ネットワーク内の異種のノードでホストされる単一の統合された計算環境(シングルシステムイメージ)であり、任意の数の並列プロセスが居住できる環境を提供するよう設計されています。このメッセージパッシング標準は、マシンの独立した動作プロセスを結び付け、それらを「ウェブ」として統合します。

既存の分散コンピュートシステムとは異なり、aoはサイズや形式に対するプロトコルによる制限なしに計算の操作をサポートすることができます。さらに、aoの分散およびモジュール化されたアーキテクチャは、既存のスマートコントラクトプラットフォームをネットワークに簡単に「プラグイン」として組み込むことを可能にし、他のプロセスからメッセージを送受信できる単一のプロセスとして機能します。

すべてのユーザーに対して1つの選択肢を強制するのではなく、aoはモジュラーフォームで構築されています。これにより、最適な仮想マシン、シーケンスモデル、メッセージパッシングセキュリティ保証、および支払いオプションを選択できます。このモジュラリティにより、あらゆるプロセスが簡単にメッセージを転送し、協力できる統合された計算環境が形成されます。

aoの核心目標は、信頼性のある協調計算サービスを規模に関係なく実現することです。これにより、以前には不可能だった新しいアプリケーションの設計空間が可能となります。

aosは、aoの分散型オペレーティングシステムであり、その分散ネットワーク内でスマートコントラクトのように機能するコマンドラインプロセスを開始することを開発者に可能にします。
これにより、特定の場所に制約されずに操作し、ネットワーク全体でシームレスなユーザーインタラクションを実現します。その結果、全参加者が共有する「シングルシステムイメージ」—物理的およびスケーラビリティの制限を超えた統合されたグローバルコンピューティングプラットフォームが形成されます。

AOは、ユーザーが任意のプロセスとやり取りできる広範なスケーラブルなコンピュータを形成し、高度に協力的なエコシステムを促進します。

む、難しいですね。
関連しそうなtweetも拝見させていただきました。↓
https://twitter.com/ocrybit/status/1764149728197898535

WeaveDBの課題を解決するものらしいですね!

https://twitter.com/ocrybit/status/1763119476021575864

ふむふむ

https://twitter.com/valeryz/status/1763739038140236078

@aoTheComputerが新しい本物の「インターネットコンピュータ」になるかもしれない

すごそう!(語彙力)

https://twitter.com/KentoInami_jp/status/1763485313874485633

神!

わ、分かりましたか??
まあいいんですよ!大切なのは完全に理解することではないです。触りながら勉強しましょう。
とりあえずこんなにも難しいものを自分でも扱ってしまおうっていうことです。
「なんかカッコいい!」 それが私の原動力です。

公式リンク

Xアカウント(@aoTheComputer)
公式サイト
cookbook
github
ArConnect

Let's cook

早速進めていきます。Cookbookを翻訳しながらやっていきます。

Welcom

Welcom

ようこそaoへ

aoコンピュータは、数え切れないほどの並列プロセスが単一で統一されたコンピューティング環境内で相互作用する世界です。これらのプロセスは、ネイティブなメッセージパッシングレイヤーを介してシームレスに相互にリンクされています。それは、個々のプロセスが独立して動作するが統一された体験に複雑に絡み合う、分散型プログラムの新しい生態系です。これは、World Wide Webに似ています。

ao + aos = ロケットとロケット燃料

通常、aoを使用する際には、そのオペレーティングシステムであるaosを介して相互作用します。
aosは、プロセス内で実行される抽象化レイヤーであり、aoコンピュータの全機能を簡単に使用できるようにします。このcookbookでは、aosを使用してaoコンピュータを始めるために必要なすべてを学びます。

仕様

aoの技術仕様について詳しく学びたい場合は、詳細な分析を行うためにその仕様を確認してください。

次のステップ

次に続くチュートリアルでは、aoを探求し、チャットルームから自律型の分散型ボットまで、あらゆるものを構築していきます。
さあ、始めましょう! 🚀

Getting Started

Getting Started
最初の冒険に踏み出すためのプロセスを一緒に進めましょう。5分でできます!🕳️🐇

システム要件。

aosのローカルクライアントをインストールするのは非常に簡単です。以下があれば大丈夫です。

NodeJSバージョン20以上
お好みのコードエディタ
aosのインストール
NodeJSがマシンにある場合は、aosをインストールして実行するだけです。

nodenvを使ってnodeのバージョンを管理

まずはnodeのバージョンが要件を満たしているか確認します。

$ node -v

ここでv20.0.0以上となっていればやることはありません。もし要件を満たしていない場合は、v20以上のnodeを使えるようにしましょう。
私はnodenvを利用しましたので、その手順を記載します。

homebrewでnodenvをインストール

$ brew install nodenv

v20以上をインストール。

$ nodenv install 20.2.0

今回はv20.2.0を使いました。

インストールしたバージョンを設定

$ nodenv global 20.2.0

正しく設定できていれば、node -v を実行した時に v20.2.0 と帰ってくるはずです。
もし反映されていない場合は、pathが通っていない可能性が高いです。(参考サイト

npm i -g https://get_ao.g8way.io

インストール後、コマンド自体を実行して新しいaosプロセスを開始するだけです!

aos

自分自身をaosプロセスに認証するには、キーファイルを使用します。
Arweaveウォレットがあれば、--wallet [location]フラグを追加して指定できます。なければ、新しいキーファイルが生成され、ローカルに ~/.aos.json に保存されます。

私は新たに作成しましたので、~/.aos.json にキーファイルができていました。

あなたが開始したユーティリティは、新しいaoコンピュータ内のプロセスにメッセージを中継する準備ができているローカルクライアントです。
正しく接続できた場合は、以下のように表示されます。aos process:の部分については各々で値が異なっています。

_____                   _______                   _____
         /\    \                 /::\    \                 /\    \
        /::\    \               /::::\    \               /::\    \
       /::::\    \             /::::::\    \             /::::\    \
      /::::::\    \           /::::::::\    \           /::::::\    \
     /:::/\:::\    \         /:::/~~\:::\    \         /:::/\:::\    \
    /:::/__\:::\    \       /:::/    \:::\    \       /:::/__\:::\    \
   /::::\   \:::\    \     /:::/    / \:::\    \      \:::\   \:::\    \
  /::::::\   \:::\    \   /:::/____/   \:::\____\   ___\:::\   \:::\    \
 /:::/\:::\   \:::\    \ |:::|    |     |:::|    | /\   \:::\   \:::\    \
/:::/  \:::\   \:::\____\|:::|____|     |:::|    |/::\   \:::\   \:::\____\
\::/    \:::\  /:::/    / \:::\    \   /:::/    / \:::\   \:::\   \::/    /
 \/____/ \:::\/:::/    /   \:::\    \ /:::/    /   \:::\   \:::\   \/____/
          \::::::/    /     \:::\    /:::/    /     \:::\   \:::\    \
           \::::/    /       \:::\__/:::/    /       \:::\   \:::\____\
           /:::/    /         \::::::::/    /         \:::\  /:::/    /
          /:::/    /           \::::::/    /           \:::\/:::/    /
         /:::/    /             \::::/    /             \::::::/    /
        /:::/    /               \::/____/               \::::/    /
        \::/    /                 ~~                      \::/    /
         \/____/                                           \/____/

ao Operating System

aos - 1.4.1
2024 - Type ".exit" to exit
aos process:  1xM1_lDZ428sJHpTX7rtcR6SrDubyRVO06JEEWs_eWo

aos>

aoコンピュータの新しいホームへようこそ!
今見ているプロンプトは、分散型マシン内のあなた自身の個人サーバーです。このチュートリアルの残りでは、aoを使って遊んだり探求したりするために使用します。

最初のコマンドを送信する。

あなたの新しい個人的なaosプロセスは、コマンドを受け取り、実行するために待機しているサーバーです。
aosは物事をシンプルにするのが好きなので、Luaプログラミング言語でのコマンドをお待ちしています。Luaがわからない?心配しないでください!それは非常にわかりやすく、友好的で楽しい言語です。このシリーズを進めるにつれて学んでいきましょう。
アイスブレイクして、次のようにタイプしてください:

aos> "Hello, ao!"

そして "[Enter]" キーを押してください。シェルがサインを表示し、メッセージを投稿し、結果をリクエストし、結果を表示します:

"Hello, ao!"

えー、何がそんなに大したことなの?

あなたはあなたのプロセスにメッセージを送り、それをArweaveに永久に刻み込み、そして分散コンピュートネットワークにその結果を計算させました。
結果は革新的には見えないかもしれませんが、実際にはかなり特別なことをしました。
あなたのプロセスは、地球上のどの特定の場所にも存在しない分散型サーバーです。
それは世界中の多くの異なるマシン間でArweaveに複製されたデータとして存在します。必要であれば、このプロセスに新しいコンピュートユニットを取り付け、将来のどんな時点でもその入力のログから状態を再現することができます(今のところ、あなたの単一のコマンドのみ)。

これにより、新しいシェルプロセスが...

耐久性があります

あなたのサーバーが実際に存在する地球上の特定の場所はありません。それはどこにでもあり、どこにもない -- 物理的な破壊や改ざんから免疫を持っています。

永久性があります

あなたのプロセスは決して消えません。Arweave上で常にその✨ホログラフィック状態✨で存在し、それを思い出して遊び続けることができます。Arweaveのストレージ基金に寄付がされましたので、保守やメンテナンスの支払いについて考える必要はありません。

権限がなくても使えます

このサーバーを開始するために登録する必要はありませんでした。あなたの使用権は、その基盤となるプロトコル(Arweave)によって保証されており、GoogleやAmazon、その他のビッグテック企業が何を言おうとも同じです。

信頼できます

あなたのサーバーの状態は数学的に保証されています。これは、あなたや他の誰もが、それを確実に信頼できることを意味します。それが実行されている基盤のハードウェアを信頼する必要もありません。この特性により、信頼できるサービスを構築することができま。
数学によって純粋に支配される、特権のないオーナーやコントローラーなしで実行されるコード

これにはもっとたくさんの要素がありますが、これが基本です。aoコンピューターへようこそ、初心者!私たちはあなたがここにいてくれて感謝しています。🫡

次のステップ

次のチュートリアルでは、aoを探求し、チャットルームから自律型の分散型ボットまで、あらゆるものを構築していきます。

さあ、始めましょう! 🚀

Testnetの情報

Testnet Info

aoテストネットに参加しよう

2024年2月27日にaoテストネットが開始され、開発者や早期採用者がハイパーパラレルコンピュータを探索できるようになりました。

aoテストネットとは?

aoテストネットは、ユーザーが手数料なしでaoコンピュータとやり取りし、メインネットに向けてテストや構築を行うためのものです。
関与する最良の方法は、aosコンソールを使用してaoコンピュータを構築し、使用することです。以下の「やるべきこと」セクションには、試してみるための多くのアクティビティがあり、それぞれを進めるとCREDトークン(テストネットの通貨)を獲得できます。

aosクライアントのインストール

aoネットワークには、aosコンソールから他の開発者と会話できるいくつかのチャットサーバーがホストされています。チャットクライアントを読み込むには、以下を実行します:

.load-blueprint chat

利用可能なルームを表示するには、次のように実行します:

List()

次のようにしてルームに参加し、他の開発者とチャットを開始できます:

Join("Getting-Started", "あなたの名前")
Say("こんにちは")

aoテストネットの最初のステップ

aoでの構築に追いつくためには、こちらのcookbookのチュートリアルをチェックすることをお勧めします。

aoエコシステムの構築に協力し、CREDを獲得しましょう!
aoエコシステムは非常に早い段階にあり、多くの機会があります。エコシステムを成長させるためのソフトウェアのテストや構築に関わる方法がいっぱいです。すべてのプロセスでは、そのネイティブ通貨であるテストネットCREDを獲得できます。
現在利用可能なクエストのリストを表示するには、「Quests」チャットチャンネルに参加します。 => Join("Quests")
参加できたらSay("/Quests")を実行し、クエストのリストを受け取ります。
クエストの内容を確認するには Say("/Quests:クエストNo")とします。

Say("/Quests:1")
Name: Begin

Description
-----------
In this fun exercise, you'll encounter a series of challenges presented by two familiar characters, Morpheus and Trinity. You'll dive deep into the rabbit hole guided by Morpheus as he presents you with a series of challenges to prove you're the one.

Once done, Send({Target = "Lz8WE41Ou1RbAiu5Ghm7_xLzVIylYM3iy8A7C6sJraY", Action = "Claim", Name = "Begin" })

Go to: https://cookbook_ao.g8way.io/tutorials/begin/index.html


楽しんでください!


最後に

準備編はここまでです。環境構築で迷った場合は Discordのsupportチャネルで質問してみましょう。
次回からは実際にクエストを進めていきます!

【日本語】Arweaveの「AO」テストネットチュートリアル - クエスト編 その1

GitHubで編集を提案

Discussion