script (⏱,💰)

script (⏱,💰)

NG#0 - カイロ入門

介绍#

Node Guardians は、Solidity と Cairo の学習を目的としたウェブサイトです。美しいゲームインターフェースの裏には優れたコース設計があり、学習を強くお勧めします。このシリーズでは、コースを一歩ずつ進める方法を紹介します。

https://nodeguardians.io/dev-hub?s=devhub-campaigns にアクセスすると、以下の画面が表示されます。各カードはテーマごとのタスクであり、タスクを完了すると報酬がもらえます。

main page

チュートリアルのビルド:Cairo#

最初のタスクは「Setting Up: Cairo」から始まります。このタスクの目的は、Cairo の開発環境を設定し、タスクの提出方法を理解することです。ビルドチュートリアル:Cairo と CTF チュートリアル:Cairo があります。まずはビルドチュートリアル:Cairo から始めましょう。右下のStart Questをクリックします。

build tutorial

まず、git と npm をインストールします。MacOS の場合、brew install nodebrew install gitを入力してインストールできます。(ネットワークの問題がある場合はbrew のミラーを使用できます)Windows の場合は、インストール方法を検索してください。

インストールが完了したら、git -v && node -vと入力し、バージョンが表示されれば続行します。node のバージョンは 16 以降である必要があります。
git & node version

GitHub のホームページで、ng-questplayという名前のプライベート(Private)なリポジトリを作成します。

次に、GitHub Applicationのリンクをクリックして追加します。このプログラムは、将来の解答コードのアップロードがテストに合格するかどうかを検証するために使用されます。作成した ng-questplay にインストールするだけで、他のリポジトリは必要ありません。

add github app

公式のリポジトリをクローンし、プライベートリポジトリにリンクします。

ng-questplay フォルダで、以下のコマンドを実行して必要な依存関係をインストールし、最初のコミットを行います。

Cairo の開発には scrab をインストールする必要があります。これは cairo のパッケージングとパッケージ管理ツールです。最新バージョンをインストールしてください。インストールガイドのリンク

次に、GitHub Token を設定してタスクをダウンロードします。

  1. GitHub の右上のアイコンをクリックして、設定ページに移動します。
  2. 左側のサイドバーで、Developer Settings(最後のオプション)> Personal Access Tokens をクリックします。
  3. 新しい Token(classic)を生成します(例:「Node Guardians Questplay」という名前)。
  4. この Token にパブリックリポジトリへのアクセス権を付与します。
  5. Token を生成します。

Public permission

GitHub Token

Token をプロジェクトフォルダの.env ファイルにコピーし、*GITHUB_TOKEN = "ghp_..."* という名前で保存します。

env Token

quest find build-tutorial-cairoを実行して最初のタスクをダウンロードします。

download quest

次に、cd ./campaigns/starting-cairo/build-tutorial-cairoを入力してタスクのフォルダに移動します。

最初のタスクは、src/hello.cairo の hello_guardian () が'Hello Guardian'を返す必要があります。
hello world

答えは提供しませんが、ヒントを提供します。Cairo は rust の構文を使用しており、2 つのポイントがあります:

  1. 関数の戻り値、参考資料
  2. cairo の string 型、参考資料

quest test 3を入力して、コードにエラーがないかローカルでテストします。エラーがある場合は、エラーメッセージに基づいてコードを修正する必要があります。

次は、回答の提出です。自動提出(Automated Submission)を使用することをお勧めします。まず、コードをコミットします。コミットメッセージは任意のものを入力できます。例えば、

次に、quest submitを入力し、成功するのを待ちます。成功したら、ページに戻り、Verify をクリックします。一部のタスクには非表示のテストケースがある場合がありますので、ローカルで完全にテストに合格してもタスクが完了したわけではありません。提出が完了すると、Summary が表示され、学んだ重要なポイントを振り返ることができます。

summary

獲得した経験値は、アカウントのレベルとグローバルランキングを上げるために使用されます。ゴールドはキャラクターのアップグレードに使用されます(あまり意味はありません)。

CTF チュートリアル:Cairo#

次は CTF タスクです。CTF タスクでは、テストネットにコントラクトをデプロイし、そのコントラクトとやり取りして、タスクの目標を達成する必要があります。ブロックエクスプローラとのやり取り、トランザクションの送信による対話、新しいコントラクトのデプロイと呼び出しなど、手段は問いません。

タスクを完了する前に、ウォレットの秘密鍵のエクスポート方法、コントラクトの作成と対話方法を学ぶことをお勧めします。公式ドキュメント https://docs.starknet.io/documentation/quick_start/environment_setup/ または中文のビデオチュートリアルを参考にしてください。

左下のdeploy sand devilをクリックし、ウォレットに接続し、Testnet に切り替え、トランザクションを送信すると、デプロイされたコントラクトのアドレスが表示されます。

wallet

このタスクでは、まず count の値を知る必要があります。その後、slay を呼び出し、引数に count と同じ値を減算すると、0 になります。最も簡単な方法は、ブラウザでデプロイしたアドレスにアクセスし、右端のread contractwrite contractを使用してタスクを達成することです。

voyager

count を 0 に設定したら、Verifyをクリックしてタスクが完了します。

complete

次のステップ#

次は、Cairo の詳細な学習を始め、難易度 2 の Thinking in Cairo を完了します。カテゴリはアルゴリズムとデータ構造です。

Next

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。