インターネットコンピュータ上でプロジェクトをスタートさせるための無料サイクルを獲得!
サイクルは、インターネットコンピュータ上のdAppホスティングリソースの支払いに使用されます。新しい開発者は、これらのサイクルを20兆個無料で受け取る権利があります。このガイドでは、サイクルとは何か、そしてサイクルと引き換え可能なクーポンを取得する方法について説明します。
インターネットコンピュータ上では、開発者はキャニスターと呼ばれる形式のスマートコントラクトを使用して分散型アプリケーションを作成できます。キャニスターは、Wasmモジュールにコンパイルされ、それからインターネットコンピュータに展開されたスマートコントラクトです。
キャニスターがインターネットコンピュータのメインネット上に展開されると、そのキャニスターはメモリ、ストレージ、および計算能力などのリソースを利用します。これらのリソースは、キャニスターが展開されたサブネットによって提供されます。他のチェーン、例えばEthereumのような場合、トランザクションのガスコストはエンドユーザーがdAppと対話し使用する際に支払われます。ソーシャルメディアやネットワーキングプラットフォームのようなdAppでは、他のユーザーをフォローしたり、投稿にいいねをしたりするだけでガス料金が必要です。これはエンドユーザーにとって高額であり、ユーザー獲得の大きな障壁になる可能性があります。
インターネットコンピュータでは、開発者はdAppのキャニスターによって使用されるガス料金を支払います。このリバースガスモデルは、高額な参入障壁を取り除くだけでなく、開発者には大量採用を目指した独自のトークノミクスモデルを実装する柔軟性を提供します。これらのリソースの使用に対する支払いには、サイクルが使用されます。
サイクルとは?
サイクルは、キャニスターのリソースの支払いにのみ使用される通貨形態です。サイクルは、ICPトークンをサイクルに交換することや、ICP開発者グラントおよびバウンティ報酬を通じて得ることができます。1つのICPトークンは、2.45兆のサイクルと交換できます。ICPトークンはIC NNSを通じてサイクルと交換するか、ICPSwapやSonicなどのプラットフォームを通じてもサイクルに交換できます。
サイクルはXDRで固定価格があり、これは国際通貨基金によって定義および維持されている補完的な外国為替資産です。1兆のサイクルは常に1 XDRに等しく、ICPの価格に関係なく、計算およびストレージのコストを予測可能かつ安定させ、開発者が適切に予算を立てるのに役立ちます。
例えば、ICメインネット上の13ノードサブネットにキャニスターを展開するコストは、それぞれ100,000,000サイクル、または0.130886米ドル、および261,538,461サイクル、または0.342317米ドルです。トランザクションの場合、コストはさらに安価です。アップデートコールのコストは590,000サイクル、または0.0000007722274米ドルで、13ノードおよび34ノードサブネットの場合はそれぞれ1,543,076サイクル、または0.0000020196705米ドルです。ローカル開発の場合は、13ノードサブネットのコストを13で割ります。例えば、ローカルでキャニスターを作成するコストは7,692,307サイクルです。
全体的に見て、インターネットコンピュータ上の1命令当たりの総コストは0.000000000000536米ドルで、これは1命令当たり0.00024米ドルのEthereumよりも44,760,000倍安いです。
インターネットコンピュータ初心者の開発者には、20兆サイクルの無料サイクルクーポンが利用可能です。このブログ投稿の後半では、このクーポンの入手方法について詳しく説明します。
これらの無料の20兆サイクルは(13ノードサブネット上で)以下の用途に使用できます:
- 20のメインネットに展開されたキャニスターを作成
- 3,389,830のアップデートコールの送信
- 182.26日間、1 GiBのデータを保存
サイクルに関しての詳細はこちらのドキュメントをご確認ください。
サイクルウォレット
開発者は、サイクルをサイクルウォレットと呼ばれる特別なキャニスターを通じて管理することができます。ユーザーのプリンシパルは直接サイクルを保持できないため、サイクルウォレットキャニスターはサイクルを保持するために使用されます。そして、キャニスターがウォレットに保存されたサイクルを使用する際、ユーザープリンシパルではなく、サイクルウォレットのプリンシパルが使用されます。プリンシパルはICによって認証されることができるエンティティです。
キャニスターメソッドを呼び出すと、呼び出しの実行に必要なサイクルが呼び出しに添付される場合があります。キャニスター自体に十分なサイクルがない場合や、新しいキャニスターが作成されている場合は、必要なサイクルを添付するために呼び出しをサイクルウォレットを介してプロキシする必要があります。キャニスターに十分なサイクルがあることを確認するには、キャニスターのサイクル残高にサイクルを入金する必要があります。このプロセスは、キャニスターを「トップアップ」すると呼ばれています。
プロジェクトが `dfx new` コマンドで作成されると、IC SDKは新しいプロジェクトテンプレートの一部としてデフォルトのサイクルウォレットを自動的に作成します。サイクルを使用したローカルの操作はバックグラウンドで行われます。メインネットに展開されたキャニスターを含む本番環境では、キャニスターにサイクルを明示的に登録し、転送する必要があります。本番のキャニスターには、キャニスターのためにサイクルを送受信する権限を持つカストディアンとして機能するように構成されたプリンシパルも必要です。
無料サイクルクーポンからサイクルを取得するには、まずサイクルウォレットと開発者のアイデンティティが必要です。
デベロッパーアイデンティティの登録
まず、IC SDKをダウンロードしてインストールしていることを確認してください。IC SDKには、コマンドラインを介してICキャニスターを展開および操作するためのコマンドラインツールである`dfx`が含まれています。
まず、`dfx`が実行されていることを確認し、実行されていない場合は、次のコマンドを使用して起動します:
dfx start — background
次に、以下のコマンドで新しい開発者アイデンティティを作成します:
dfx identity new CyclesFaucet
このコマンドで、シードフレーズが出てきます。このシードフレーズは、将来的にアイデンティティを回復する際に必要です。このシードフレーズはバックアップしておく必要があり、アイデンティティに関連する任意のサイクルが失われないようにします。
次に、このアイデンティティを、現在のターミナルセッションでdfxが使用するアイデンティティとして設定できます。次のコマンドを使用します:
dfx identity use CyclesFaucet
このアイデンティティのプリンシパルIDは、次のコマンドで取得できます:
dfx identity get-principal
プリンシパルは次の形式に似ています:
tsqwz-udeik-5migd-ehrev-pvoqv-szx2g-akh5s-fkyqc-zy6q7-snav6-uqe
無料サイクルのクーポン
新しい開発者であれば、20兆の無料サイクルに引き換えることができる無料サイクルクーポンをリクエストできます。どのように入手するかを見てみましょう。
まず、以下のウェブサイトに移動してください:https://faucet.dfinity.org
サイクルのクーポンコードを入手するには、DFINITYの公式Discordサーバーを通じてクーポンの書面でのリクエストが必要です。
ウェブページで「REQUEST CYCLES」ボタンをクリックしてDiscordサーバーに参加します。
Discordサーバー内に入ったら、#cycles-faucet チャンネルに移動してください。
このチャンネルで、以下のスラッシュコマンドを実行してください:
/request
このコマンドは、ICサイクル蛇口ボットにコールをかけます。
Discordの設定で他のユーザーからのダイレクトメッセージを許可するようにしてください。この設定が有効でない場合、クーポン発行ボットからのダイレクトメッセージが受信できません。
アンケートが完了したら、DFINITYチームが提出内容を確認します。承諾されると、クーポン発行ボットからクーポンコードが含まれたプライベートメッセージが送信されます。
その後、https://faucet.dfinity.org のウェブページに戻り、「NEXT STEP」をクリックして続行します。
これでクーポンコードの取得ができました。サイクル発行のUIにクーポンコードを入力してください。
「NEXT STEP」をクリックして続行し、次にターミナルウィンドウに戻ります。プロセス中にウィンドウを閉じた場合、以下のコマンドを実行してdfxを起動し、以前に作成したアイデンティティを使用してください:
dfx start — background
dfx identity use CyclesFaucet
次に、以下のコマンドでクーポンを引き換えます:
dfx wallet — network ic balance
これにより、ウォレットに20兆サイクルが表示されるはずです。新しいサイクルウォレットのキャニスター識別子を取得するには、以下のコマンドを実行します:
dfx identity — network ic get-wallet
このコマンドの出力は次のようになります:
gastn-uqaaa-aaaae-aaafq-cai
これで、dAppの展開に使用できる20Tの無料サイクルが手に入りました!
サイクルは貴重であり、メインネット上でキャニスターを展開するために必要です!コンピューターデータが失われた場合に備えて、アイデンティティファイルをバックアップすることを忘れないでください。アイデンティティファイルは `~/.config/dfx/identity/<identity_name>/identity.pem` のパスにあります。
まとめ
この記事では、サイクルがInternet Computerメインネットワーク上のキャニスターが使用するリソースの支払いにどのように使用され、サイクルがサイクルウォレットと呼ばれるキャニスターに格納されているかを見てきました。次に、20兆サイクルに引き換えることができる無料サイクルクーポンを取得する方法を確認しました。
Internet Computerの詳細はこちら: internetcomputer.org
Internet Computer の 公式 Twitter: @dfinity
Internet Computer の 公認 日本語翻訳 Twitter: @ICP_JPCM