LoginSignup
2
2

More than 1 year has passed since last update.

DFINITYで遊んでみる ~環境構築~【ICP】

Last updated at Posted at 2021-11-03

はじめに

みなさんはDFINITYとは何かご存じでしょうか?
DFINITYとは、ブロックチェーン技術を用いて分散型のクラウドプラットフォームを提供するプロジェクトです。簡単に言えばAWSやGCPのようなものを非中央集権的に使えるようにしよう!ってことです。(たぶん…)
仮想通貨バブルの真っただ中ですが私は乗り遅れたので、DFINITYで遊びたいと思います。
なお、この記事では公式のチュートリアル(https://smartcontracts.org/docs/quickstart/local-quickstart.html )に書かれていることをやるだけです。めちゃくちゃ易しく書かれているので、英語に抵抗がない方は公式を見ることを強くお勧めします

実行環境

  • Ubuntu 18.04 LTS(WSLで実行) → Ubuntu 20.04 LTSに変更

現在、DFINITY Canister SDKはmacOSまたはLinuxにしか対応していません。

環境構築

Node.jsのインストール

Node.jsが後で必要になるそうなのでインストールします。
Node.jsのパッケージ管理システムであるnpmもインストールします。

terminal
$ sudo apt install nodejs 
$ sudo apt install npm 

DFINITY Canister SDKの導入

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

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

パスを通して

.profile
export PATH=$PATH:/home/user/bin

ちゃんと動くか確かめます。

terminal
$ dfx --version

これでdfxのバージョンが表示されれば良かったのですが、エラーが発生。

terminal
dfx: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by dfx) 

GLIBCのバージョンが古いよ!って怒られてしまいました。一応今使っているバージョンが何か見てみます。

terminal
$ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Ubuntu GLIBC 2.27-3ubuntu1.4) stable release version 2.27.
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. 
Compiled by GNU CC version 7.5.0. 
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.

バージョンは2.27を使っていることが分かります。しかしGLIBCをアップデートするのは避けるべきとのことです。

Ubuntu 20.04に変更

色々と変にいじるよりもUbuntuのバージョンを上げてしまうのが一番お手軽です。
さくっとUbuntu 20.04 LTSをMicroSoftStoreからダウンロード&インストールします。
では、GLIBCのバージョンを確認します。

terminal
$ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Ubuntu GLIBC 2.31-0ubuntu9.2) stable release version 2.31. 
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 9.3.0.
libc ABIs: UNIQUE IFUNC ABSOLUTE
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.

バージョンが2.31になり要件は満たせてそうです。
再び最初からDFINITY Canister SDKのインストールとパスの設定等を行い、今度はちゃんと動くか確認します。

terminal
$ dfx --version
dfx 0.8.3

しっかりとバージョンを表示することができました。:raised_hands:

終わりに

とりあえずSDKが使用できる状態にはなりました。
次回は簡単なプロジェクトを作成し動かしてみたいと思います。
続き→ https://qiita.com/YakitoriBoyz/items/2bc3d15c069f5617d4db

参考

https://smartcontracts.org/docs/quickstart/local-quickstart.html
https://smartcontracts.org/docs/quickstart/newcomers.html

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2