無料でInternet Computerを試す方法

Internet Computerで分散アプリケーションを試そうと思ったとき、
ICP購入でためらったりしていないでしょうか。

ICPを購入するには、バイナンスかコインベースを利用しないといけないのですれども、
バイナンスは日本で金融商品取引法での取引業者ではないですし、
コインベースは登録しているものの(登録しているがゆえに?)
ICPを国内向けに提供できないという状態になっています。

そこで、今回はICPを購入せずともとりあえずInternet Computerを試す方法を紹介します。

無料でInternet Computerを試す方法

インターネットコンピューターでアプリケーションを動かそうとした時

 ICPを購入せずに開発するには二つの方法があります。

  • ローカル環境で動かす
  • 無料のサイクルを使ってインターネット上で動かす

 ローカル環境で動かす

インターネットコンピューターのブロックチェーン・ネットワークに乗せなければ費用はかかりません。

インターネットコンピューター上では「キャニスター」と呼ばれる実行環境でコードを動かします。

ローカル環境でもこの「キャニスター」を使うので、
ブロックチェーンに乗せずともInternet Computerでの開発を試せます。

差異はありますが、キャニスターはDockerをイメージすると良いかもしれません。

 無料のcyclesでInternet Computer上で動かす

 ローカル環境の開発ではなく、実際に自分のアプリをブロックチェーン上に動かしたいと思うならば、cyclesの支払いが発生します。

「Cycles Faucet」から開発者向けに無料でcyclesを配っています。

15 兆 cycles(約2000円分)を無料で受け取ることが可能です。

このcyclesを使えばブロックチェーン上でアプリを動かせます。

cyclesとはInternet Computerを動かす燃料

cyclesとは 、ICPとは別のInternet Computerがもつトークンです。 

計算、ネットワーク利用、ストレージ利用、キャニスター作成など、
インターネットコンピュータを動かすにはこのcyclesが必要です。

通常はICPとcyclesを交換して手に入れることができます。

無料のcyclesはクラウドのトライアルと同じ

AzureやGoogleクラウドを利用していると、200$分のクレジットを付与とか
90 日間 $300 分無料トライアルとか見かけたことはないでしょうか。

「クラウド内だけで使える$200を上げるので、有料サービスを試してみてください」

ということです。

「無料のcycles」は、クラウドサービスでいうところのトライアルに相当します。

Internet ComputerはAWSやAzureなどのクラウドを目指しているので、
多くの人に使ってもらうためにも無料でcyclesを配っているのでしょう。

金額で比べると200$とか300$に対して20$程度なので額は少ないですね。

ただ、クラウドのトライアルと違い利用期限がないので、cyclesはもらっておいて損はありません。

無料でcyclesを取得する

では、無料でcyclesを取得する方法をみていきましょう

  • 準備するもの
  • 無料Cyclesを受け取る
  • 開発環境と紐づける

準備するもの

 必要なものgithubアカウント

githubのアカウント。ただアカウントに制限があります。

90日以上前に作られたアカウントで、30日以内でgithubアカウントが利用されていることです。

不正なcycles請求を防ぐために制限が設けられているのでしょう。

普段利用されているgithubアカウントであれば何ら問題なく使えるはずです。

 必要なものプリンシパルID

Internet Computer上で使用されるユーザーIDのようなものです。(詳細は省きます。)

ローカル環境があれば次のコマンドでプリンシパルIDを取得できます。

dfx identity get-principal

tt7um-utkfc-3u7le-llkrl-xpodv-vujry-h4mjk-qiwmn-z2exz-km4cv-dae

こんな感じのプリンシパルIDが取得できるはずです。

無料のcyclesを受け取る

まずはCycles Faucetに移動しましょう。

https://faucet.dfinity.org/auth

移動するとGithubアカウントとの接続を求められるので進みます。

dfinityに提供されるデータに問題がなければ進みましょう。

続いて プリンシパル IDを求められるので先ほど、取得したIDを入力します。

入力後、「Continue」ボタンが押せるようになるので進みます。

すでにサイクルウォレットを所持していれば「Use Existing Cycles Wallet」、
所持していなければ、「Generate new Cycles Wallet」でサイクルウォレットを作成します。

本記事では「Generate new Cycles Wallet」で進めます。

「Generate new Cycles Wallet」 を押下すると、そのままサイクルウォレットが作成され

2000円相当の15 TC=15兆 cycleが付与されます。

なお、マーキングした部分があなたのサイクルウォレットIDになります。

開発で使用するウォレットに設定する

無事cyclesがチャージされたウォレットを獲得しましたが、まだ開発環境から使えません。

サイクルウォレットはいくつも所有することができ、
どのサイクルウォレットを使用するのか、選択できるようになっているためです。

そこで、完了画面にあった、コマンド

dfx identity --network ic set-wallet --force ウォレットID

を実行して、今回作成したウォレットを開発で使用するウォレットに設定します。

開発環境にサイクルウォレットの設定は終わったならば、インターネットコンピューターのブロックチェーン上にアプリを置くことができます。

ここから先は、プラスアルファの設定です。

  • cyclesをGUIで管理
  • cycles紛失対策

ができるようになるので紹介します。

Internet Identity の準備

Cycles Faucetで作成したウォレットをWebブラウザで操作するにはInternet Identityと連携させる必要があります。

まだInternet Identityのアカウントをお持ちでないならば作成しましょう。

>>Internet Identityアカウントの作成

Internet Identityとサイクルウォレットの連携

アカウントを作成したら、次にウォレット管理画面を開きます。

Webブラウザで管理するには次のアドレスでアクセス可能です。

https://[ウォレットID].raw.ic0.app

アクセスすると次のような画面が表示されるので「Authenticate」ボタンを押して進みます。

Internet Identityの画面に飛ぶので認証しましょう。

認証するとコマンドが書かれたページが表示されます。

これはウォレットの管理者(カストディアン)として
Internet IdentityアカウントのプリンシパルIDを登録するためのコマンドです。

このコマンドを開発環境で実行し、しばらくたつと認証され次の画面に遷移します。

補足:表示が14TCとなっていると思いますが、すでにいくつかのサイクルが消費されているため減っています。

上記の画面が表示されれば作業は完了。

「Send Cycles」でキャニスターにcyclesを送ることもできますし、
「+」ボタンからキャニスターや他のウォレットを追加可能です。

開発環境でプリンシパルIDにサイクルウォレットを紐づけたわけですけれども
このプリンシパルIDを紛失すれば、cyclesも失うことになります。

うっかり開発環境を初期化し、pemファイルを消してしまえば、永久にcyclesにはアクセスできなくなります。

しかし、Internet Identityを追加しておけば、プリンシパルIDの紛失対策にもなりますので、オススメです。

まとめ

最後にこの記事のまとめです。

  • Internet Computerはcyclesで動かす
  • 2000円相当のcyclesをCycles Faucetから取得できる
  • ローカル環境であればICPは不要

無料枠のcyclesが無くなれば、ICPを取得してチャージしましょう。

ただ、ICP を利用してサイクルを変換するまで非常に多くの取引が必要です。

銀行から出金して仮想通貨を買って仮想通貨を送金して仮想通貨交換して、cyclesに変換してようやくInternet computerを動かせます。

なんだか、やたらと手数と手数料がかかります。

スマートコントラクトが本格的に導入されるようになれば、高額な仲介手数料を払わずに済むので
Internet Computerが普及し(別のブロックチェーンでも構わないけど)
みんなが低コストで利用できるサービスや世界が早くきてほしいものです。

では。