👻

DFINITY、ICPとは?から環境構築まで

2022/02/04に公開

DFINITY(Internet Computer)とは?

DFINITYとは、ブロックチェーン技術を用いて分散型のクラウドプラットフォームを提供するプロジェクトの実現を目指す運営団体のこと。暗号資産での通貨単位はICP。
イメージはAWSやAzureなど現在存在するクラウドサービスを非中央集権化にして、絶え間なくサービスを稼働させようって感じ。

2021年5月にCoinbaseに上場したところ、わずか2日でTOP10入りしたため注目度の高さとプロジェクトの内容から一部でGAFAキラーなどと呼称されている。

個人的にはプロジェクト規模と現職でクラウドへの移行・構築作業を行っているため、期待値は高め。普及した世界を見てみたいなあと思いつつ、セキュリティの問題や今の仕事はどうなるんだといった不安もある。(素晴らしいプロジェクトだとは思ってるが、正直日本では普及しないのでは。。と個人的には思っている)

環境構築

メインでWindowsを使用しているため、今回は検証用にUbunuを用意しました。
Windowsでもできなくはなさそうだが、環境構築の工程が増えるため省略

また、環境構築は以下を参考にしました。英語弱々の私でもなんとなく理解できたので、普段からマニュアル読んでる人はこっちのほうが参考になると思います。
https://smartcontracts.org/docs/quickstart/local-quickstart.html

構成

  • Windows:10.0.19053
  • VirtualBox:6.1.32
  • Ubuntu:20.04 LTS

node.jsのインストール

デプロイしたばかりだったので一応updateから。

$ sudo apt update
$ sudo apt install nodejs

Node.jsのパッケージマネージャであるnpmもインストールします。

$ sudo apt install npm

インストールできたことの確認

$ nodejs -v
v10.19.0

DFINITY Canister SDKの導入

DFINITY Canister SDKをダウンロードし、インストールします。

$ sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

パスを通し

~/.profile
export PATH=$PATH:/home/<ユーザ名>/bin

バージョンを確認します。

$ dfx --version
dfx 0.8.4

新規プロジェクトの作成

dfx newコマンドで新規プロジェクトを立ち上げます。

$ dfx new hello

手順に従いhelloという名前で作成しました。


ICPのロゴが表示されました!

補足
バージョン指定するときは、以下のようにバージョン指定します。

DFX_VERSION=0.x.x sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

DFX_VERSIONに指定のバージョンを入れることで、好きなバージョンでSDKのインストールができるみたいです。詳しくは公式マニュアル参照。

感想

今回は環境構築まで。Zenn初寄稿だったのでmarkdownで色々遊ぼうと思ったら、思ったより時間を食ってしまった。ドキュメントの手順がわかりやすかったので、ちょっと補足しながらここまではサクサク進んだ。続きはまた空いてるときにでも。

Discussion