テクノロジー

ALIS BOOT CAMPを受けてみた④NFTを使った資産管理

zap's icon'
  • zap
  • 2019/12/25 14:30
Content image

早くも第4回。

今回はNFTを使って音楽の視聴権とか漫画の閲覧権ってどうやって管理してるのかとか、その辺の概論+実際にNFTを作ってみようの前編です。

なかなか必要なソフトがインストールできずに四苦八苦しています。

////////////////////////////////////////////////////////////////////////////

ホーさん今日 20:32

@ZAP よろしくお願いします

ZAP今日 20:32

よろしくお願いします。

ホーさん今日 20:33

NFTでのコンテンツ管理について疑問をお持ちのようだったので、まずはこちらからご説明します。

前提のお話ですが、NFTには、一つ一つのアセットにメタデータといって、何らかの情報をブロックチェーンに保存することができます。

ZAP今日 20:33

はい。

ホーさん今日 20:33

例えば、CryptoKittiesでは「遺伝情報」をMetadataに含んでいるようです。猫を交配するとそれぞれのNFTのMetadataに含まれる遺伝情報を交叉させて(特定の数字でmodをとったりして親の遺伝情報を何らかの方法で反映させつつ)新たな猫のNFTを生み出します。

ただ、猫の画像の情報などはブロックチェーンに保存するには重たすぎるので、そういうものはCryptoKittiesのサーバ上に保管してあり、NFTの情報を元に参照して表示、みたいなことが行われます。

ZAP今日 20:34

猫の画像は別管理なんですね。

ホーさん今日 20:35

そうです。猫の画像は改ざんされてはいけない情報、というわけでもないですしね。

むしろ、あとでデザインを変えたりしたいかもしれません

そういうとき、あえて情報をブロックチェーンの外で管理するという手段が取られます

画像へのリンクだけブロックチェーンに保存したりします

ZAP今日 20:36

つまりキティーのサーバが飛ぶと、画像が表示できなくなると。

ホーさん今日 20:36

そうです

ZAP今日 20:37

サービス終了してもトークンは残るってのは正しいけど正しくないですね。

ホーさん今日 20:37

画像に重きを置くなら、そうですね。全て完全に残るわけではないです。

ブロックチェーンは保存したデータを改ざんできないようにする耐性を持っていますが、保存できる情報の容量はそれほど大きくないです。大きなデータを書き込んだり書き換えたりするには、それだけ多くのgas(手数料)が必要になるので、どの情報を含めるか、その大きさはどのくらいかをしっかり設計して定義する必要があります。(クリプトゾンビとかやっていただくと、この辺りの話が少し出てきます)

ZAP今日 20:38

なるほど。

ホーさん今日 20:38

で、NFTを持っている人だけが音楽を聞けたり漫画が読めたり、というのはNFTと認証のシステムを組み合わせることによって初めて実現します。

ZAP今日 20:38

そういうことですね。

ホーさん今日 20:38

一例ですが、 ユーザーがアプリにログイン(METAMASK連携) 

 アプリがユーザーの保有NFTを確認 

 NFTの保有を確認できたら、アプリがユーザーにコンテンツ閲覧の許可を与える 


 ユーザーがコンテンツを閲覧できる

というようなフローにすると、NFTを持っている人だけがコンテンツを閲覧できる、といったことが可能になります。

認証の鍵の役割をNFTが担ってる感じです。

また、他の例として、「複数の人に一つのNFTに対するアクセス権を与えたい」場合には、上のやり方だとダメなので、「NFTに紐ついた認証鍵」を別のトークンとしてつくるやり方があります。

ERC621という規格がありまして、これはトークンの供給量を自由に設定できる(Re-Fungible Token: RFT)ので、RFTをNFTに紐づけておいて、特定のRFTをもつユーザーだけにNFTに紐づいたコンテンツを開示することを許可する、といったやり方をすることで、複数の人かNFTに紐づく情報(画像とか、動画とか、なんでも良いですが)にアクセスできる、ということを実現することができます。

ZAP今日 20:41

ほう。RFTに権限を紐づかせると問題があるんですか?

ホーさん今日 20:43

この場合、権限が紐づいているのはRFTです。(なので売り買いするのはRFTです)

NFTとコンテンツが紐づいていますが、NFTそのものを売り買いするわけではありません

NFTの所有権をRFTで売り買いするイメージです

ZAP今日 20:45

NFTと紐づける必要があるものなんですか?

ホーさん今日 20:46

そのRFTがどのNFTに紐づいているかをはっきりさせないと、なんに対する所有権を売り買いしているのかわからなくなってしまいますので

あ、というより、「NFTを複数の人で所有することにしたい」というニーズがあって初めてNFTとRFTを紐づける必要がありますね

ZAP今日 20:47

ユーザーがアプリにログイン(METAMASK連携) 

 アプリがユーザーの保有RFTを確認 

 RFTの保有を確認できたら、アプリがユーザーにコンテンツ閲覧の許可を与える 

 ユーザーがコンテンツを閲覧できる

でもいいってことですか?

ホーさん今日 20:47

それでもOKです!

ZAP今日 20:47

納得です。

ホーさん今日 20:48

NFTによる管理については私からは以上ですが、よろしいでしょうか?

ZAP今日 20:48

マルチなVIPチケットみたいな使い道のRFTを作って、複数のNFTに紐づけるみたいなことができそうですね。

ホーさん今日 20:49

そうですね、その辺りは色々できて自由度が高いと思います

ZAP今日 20:49

OKです。考え方はわかりました。

ホーさん今日 20:49

はい、それでは今日はNFTを作成するところをOpenSeaのチュートリアルを使って一緒に体験するということで進めさせていただきます。

実際、Liberate liteの開発ではNFTを作成する必要はありません。が、他のサービスのNFTを参照する必要がありますので、一通りの動きは理解しておいた方が良いかと思います。

ZAP今日 20:50

了解です。

ホーさん今日 20:50

https://docs.opensea.io/docs/getting-started

OpenSea

OpenSea ERC721 Developer Tutorial

Simple tutorial for a customizable marketplace for buying and selling on OpenSea

 

ホーさん今日 20:51

まず、このチュートリアルですが、OpenSeaで取引が可能な、クリーチャーと呼ばれるNFTを生成する方法について学べます。チュートリアルにはOpenSea上での取引関係の内容もあるんですが、Liberate liteではそこまでは必要ではないので、まずはNFTそのものの理解を深めるために、このチュートリアルのうち、NFTの生成までを行ないます。(編集済)

ZAP今日 20:51

はい。

ホーさん今日 20:51

ご準備ありがとうございます^^

まず、こちらのページから進めていきましょう。 https://docs.opensea.io/docs/1-structuring-your-smart-contract

OpenSea

1. Structuring your smart contract

Leveraging the ERC721 standard to make your items instantly tradeable on OpenSea

まずは、必要なファイルをダウンロードします。

https://github.com/ProjectOpenSea/opensea-creatures

GitHub

ProjectOpenSea/opensea-creatures

Example non-fungible collectible, to demonstrate OpenSea integration - ProjectOpenSea/opensea-creatures

GitHubは、みたことがあるかもしれませんが、ソースコードを管理できるサイトです。

このサイトから”リポジトリ”と呼ばれる、ソースコードの塊をダウンロードする必要があります。

ZAP今日 20:53

これsign upいるんですか?

ホーさん今日 20:53

いえ、いらないです

Visual studio codeでターミナルを開きましょう。

unknown.png

15.50 KB

右下の、このバツと三角のビックリマークがあるところをクリックします。

unknown.png

8.75 KB

こんなバーが出てきますでしょうか。

ZAP今日 20:54

はい。

ホーさん今日 20:55

Shellを使ったことがあるとのことでしたが、cdやls、mkdirなどの基本的な使い方はご存知でしょうか?

ZAP今日 20:55

大丈夫です。

ホーさん今日 20:55

では適当なフォルダを作りましょう。 場所はどこでもいいですが、 mkdir opensea とかにしましょうか。あとで変更しても良いです。

できたら、 cd opensea でディレクトリに入ります

次に、 git clone https://github.com/ProjectOpenSea/opensea-creatures でダウンロードを行います

どうでしょうか

ZAP今日 20:56

git : 用語 'git' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名 前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1

ホーさん今日 20:57

おっと、確か以前 git --version をして頂いたと思ってましたが

ZAP今日 20:57

あ、ちょっと待ってください。

ホーさん今日 20:58

あ、WSLへの接続ですかね

ZAP今日 20:58

そうです。

ホーさん今日 20:58

了解です。お待ちします

ZAP今日 20:59

この後を忘れました。

WS000197.JPG

33.64 KB

ホーさん今日 21:00

バツと三角のビックリマークがあるところをクリックして、ターミナルを出しましょう

unknown.png

8.75 KB

バーが出たら、この一番右のTERMINALをクリックします

ZAP今日 21:02

zap@DESKTOP-H0FTP1L:~/opensea$ https://github.com/ProjectOpenSea/opensea-creatures bash: https://github.com/ProjectOpenSea/opensea-creatures: No such file or directory zap@DESKTOP-H0FTP1L:~/opensea$

GitHub

ProjectOpenSea/opensea-creatures

Example non-fungible collectible, to demonstrate OpenSea integration - ProjectOpenSea/opensea-creatures

ホーさん今日 21:03

git clone https://github.com/ProjectOpenSea/opensea-creatures 頭にgit cloneが必要です

ZAP今日 21:03

あ、全部1行なんですね。

ホーさん今日 21:03

あ、はいそうです

ZAP今日 21:03

できました。

zap@DESKTOP-H0FTP1L:~/opensea$ git clone https://github.com/ProjectOpenSea/opensea-creatures Cloning into 'opensea-creatures'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (23/23), done. remote: Total 424 (delta 12), reused 4 (delta 1), pack-reused 400 Receiving objects: 100% (424/424), 3.75 MiB | 3.20 MiB/s, done. Resolving deltas: 100% (199/199), done. zap@DESKTOP-H0FTP1L:~/opensea$

GitHub

ProjectOpenSea/opensea-creatures

Example non-fungible collectible, to demonstrate OpenSea integration - ProjectOpenSea/opensea-creatures

ホーさん今日 21:04

OKです。 cd opensea-creatures(編集済)

ここで一旦ドキュメントに戻りましょう。

https://docs.opensea.io/docs/1-structuring-your-smart-contract

OpenSea

1. Structuring your smart contract

Leveraging the ERC721 standard to make your items instantly tradeable on OpenSea

ここではまず、OpenSeaクリーチャーの定義を行うスマコンを登録します。Liberate liteの開発ではSolidityを書く必要はないので、とりあえずcontractの中身とかは省略して良いです。

pragma solidity ^0.5.0; import "./TradeableERC721Token.sol"; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; /** * @title Creature * Creature - a contract for my non-fungible creatures. */ contract Creature is TradeableERC721Token {  constructor(address _proxyRegistryAddress) TradeableERC721Token("Creature", "OSC", _proxyRegistryAddress) public {  }  function baseTokenURI() public view returns (string memory) {    return "https://opensea-creatures-api.herokuapp.com/api/creature/";  } }

ZAP今日 21:05

cd opensea-creatures

であってます?

ホーさん今日 21:05

はい、あってます

あ、すみません私のコマンド間違ってました

Solidityの方に戻りますと

最低限のポイントとしては、ERC721を使うときは基本的にはすでにあるERC721の定義を”継承”して使うことで、ERC721を満たすように自分でわざわざ全部書かなくても、必要部分だけ修正してオリジナルのERC721トークンの定義を作ることができる、ということです。

ZAP今日 21:07

なるほど。

ホーさん今日 21:07

TradableERC721Token.sol というのが、すでに定義されているERC721の定義(solはsolidityの拡張子)で、 contract Creature is TradeableERC721Token とすることで、TradeableERC721Tokenを “継承”した”Creature”という自分のスマコンを作ることができます。

  function baseTokenURI() public view returns (string memory) {    return "https://opensea-creatures-api.herokuapp.com/api/creature/";  } というのは画像のリンク先(のベースとなるURL)で、これはopenseaクリーチャーで独自に追加する必要があるので、ここで定義してます。

では、スマコンを登録していきましょう

Visual studio codeのターミナルに戻ります

ZAP今日 21:08

はい。

ホーさん今日 21:08

今opensea-creaturesディレクトリにいると思うので、 npm install というコマンドを打ちます

これによって、このリポジトリで使っているnode(というJavaScriptの言語)の関連パッケージをまとめてインストールすることができます。

ここは少し時間がかかります

ZAP今日 21:09

そうですね。

ホーさん今日 21:09

ERRとか出たら教えてください

私の時は、npmのバージョンが新しすぎてエラーになりました

ただ、先日ZAPさんからお送りいただいた node --version が、v8系だったので、おそらく問題ないかとは思います(編集済)

ZAP今日 21:11

エラーがいくつか。

ホーさん今日 21:12

yes/noのあとyesって打ってみましたでしょうか?

ZAP今日 21:12

今止めてます。

ホーさん今日 21:13

全てyesとやると、ダウンロードできるとは思います

なるほど。 npm --version はv3系でしたかね

あ、ダウンロードが止まってる感じですかね

ZAP今日 21:16

止まってると思います。

左のぐるぐる回っているのが止まってしまったので。

ホーさん今日 21:17

一旦、コントロールとCを同時押しして、切ってしまいましょう

ZAP今日 21:17

きりました。

ホーさん今日 21:18

先ほどgithub のサインアップしなくてもと申し上げましたが、エラーにgithubの接続関係が出ているのがきになるので、そこからやっていきましょう

githubってアカウント持っていますでしょうか

ZAP今日 21:18

ないですね。

ホーさん今日 21:18

では作ってくださいませ

ZAP今日 21:20

どうもアカウントがあったようです。

ログインできました。

ホーさん今日 21:20

OKです。それではログインをお願いします

はい

それでは、ssh接続というのができるように設定していきます

ZAP今日 21:21

はい。

ホーさん今日 21:21

VSCodeのターミナルで、以下を打ちます

あ、ちなみに今私がみているのはこのページになります https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

Generating a new SSH key and adding it to the ssh-agent - GitHub Help

After you've checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

1行です

emailのところは適当に。。

ZAP今日 21:22

そのままうってしまった。

ホーさん今日 21:22

あ、それでも問題ないです

あと、質問が出たと思いますが

全てエンターで良いです

OKでしょうか

OKです!

それでは、「公開鍵」ってやつをgithubに登録していきます。

ZAP今日 21:24

はい。

ホーさん今日 21:25

code ~/.ssh/id_rsa.pub

これでひらけますでしょうか

codeはVSCodeで開くコマンドです

あ、それは無視で大丈夫です

ひらけましたかね?

ZAP今日 21:26

反応がないのでよくわからないです。

ホーさん今日 21:26

ちなみに、右側のは、拡張子に対して今VSCodeが適切な拡張機能を持ってないことをワーニングしてくれてます

あ、よく見るとタブにid_rsa.pubありますね

ちょっと広げていただいて、、

中身をコピーします

ターミナルをちょっと小さくすると良いです

ZAP今日 21:28

コピーしました。

ホーさん今日 21:28

はい、ではそれを

Githubの右上のアイコンクリックすると、設定って出てきますかね

2019-12-25_21.28.42.png

63.46 KB

私の英語ですが、日本語かもです

2019-12-25_21.29.21.png

67.39 KB

左にこういうのが出たら、SSH and GPG keysをクリックします

で、NEW SSH KEYをクリック

2019-12-25_21.30.26.png

10.26 KB

2019-12-25_21.30.39.png

72.90 KB

この、Keyってとこに貼り付けます

Titleは適当にどうぞ

多分末尾に"your_email@example.com"がついてると思いますが、それもそのままでOKです

ZAP今日 21:32

たぶんできました。

ホーさん今日 21:33

OKです!それでは npm install に戻りましょう(編集済)

ZAP今日 21:33

なんか途中から進んでいる感じですね。

ホーさん今日 21:34

途中までダウンロードした分は残ってます

key verification failedまだ出てますね

動かないです?

ZAP今日 21:38

動いてないですね。

ホーさん今日 21:38

https://qiita.com/turmericN/items/e519199bde9b7f37b249

Qiita

npm installした際に、fetchMetadataで止まった際の解決...

# はじめに `vue create`した際にfetchMetadataで止まってしまった際の解決方法の備忘録です。 ## 解決方法 下記を参考にして、設定変更しましたが解決しなかったです。 最終的にネットワーク(wifi)を変更し...

うーん

もずく今日 21:39

source とかしなくても大丈夫でしたっけ?

ホーさん今日 21:39

source..なんのpathでしょう?

npm config set registry http://registry.npmjs.org/

これやったらいいって言ってる人いますね。。

http://blog.higty.xyz/post/npm-install-does-not-end/

Uragami

npm install が終わらない

Linux上でnpm installがいつまでたっても終わらない場合の対処法。

もずく今日 21:41

特に何か確信があるわけではないのでbashrcかbash_proflleあたりを…(と書いている間に他の…)

ZAP今日 21:42

一回ctrl+cでキャンセル?

ホーさん今日 21:42

一旦キャンセルしましょ

ちょっとお試し程度ですが、 npm config set registry http://registry.npmjs.org/ 1行です

あとは、npmのバージョンかな。。 https://stackoverflow.com/questions/45433130/npm-install-gets-stuck-at-fetchmetadata

Stack Overflow

npm install gets stuck at fetchMetadata

I'm currently unable to run npm install in any project since today. I'm running node v8.2.1 & npm 5.3.0 (installed via nvm). When typing npm install it gets stuck on fetchMetadata everytime: ⸨...

2019-12-25_21.44.22.png

25.96 KB

がくし今日 21:44

ssh-addとやらが必要? https://qiita.com/asam316/items/583a3aab9826ae4cf5b8

Qiita

GitHubに入門(その1) - Qiita

GitHubをこれまでに触ったことがなかったので、 「[GitHub実践入門](http://www.amazon.co.jp/GitHub%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-~Pull-Requ...

ZAP今日 21:45

とりあえず同じところで止まりました。

ホーさん今日 21:45

2019-12-25_21.45.16.png

21.70 KB

今回パスフレーズ入れてないんですよね

なのでこれはしなくて良いかと思うんです

npmバージョン変えてみましょう

がくし今日 21:46

ふむふむ。

ホーさん今日 21:46

nvm ls-remote

これって何が出ますかね

nvmはnpmのバージョン管理ソフトです

ZAP今日 21:47

Command 'nvm' not found, did you mean: command 'num' from deb quickcal command 'nm' from deb binutils command 'lvm' from deb lvm2 command 'nam' from deb nam command 'nvim' from deb neovim command 'nim' from deb nim command 'kvm' from deb qemu-kvm command 'nvme' from deb nvme-cli command 'vm' from deb mgetty-voice command 'pvm' from deb pvm command 'nvi' from deb nvi command 'npm' from deb npm Try: sudo apt install <deb name> zap@DESKTOP-H0FTP1L:~/opensea/opensea-creatures$

ホーさん今日 21:47

おkです。まずはnvm入れます

git clone https://github.com/creationix/nvm.git ~/.nvm

ZAP今日 21:48

これは一人でやったらきついっすね。

ホーさん今日 21:48

1行です

ですねw

ZAP今日 21:49

打ちました。

ホーさん今日 21:49

source ~/.nvm/nvm.sh

ZAP今日 21:49

N/A: version "8.11.2 -> N/A" is not yet installed. You need to run "nvm install 8.11.2" to install it before using it.

ホーさん今日 21:50

nvm help

なんか出ます?

ZAP今日 21:50

めっちゃでました

ホーさん今日 21:51

OKです

nvm install 8.11.2

これで8.11.2のnodeを入れます

ZAP今日 21:51

インストールされたみたいです。

ホーさん今日 21:53

npm --version

これ今何になってます?

ZAP今日 21:53

5.6.0

ホーさん今日 21:54

前3.5.2だったので上がってますね

ではこれでやりましょう。ちょっと一旦今までダウンロードしたやつ削除したいので

rm -r node_modules

ZAP今日 21:55

zap@DESKTOP-H0FTP1L:~/opensea/opensea-creatures$ ls -l total 844 -rw-rw-rw- 1 zap zap 3264 Dec 25 21:03 README.md drwxrwxrwx 1 zap zap 512 Dec 25 21:03 contracts -rwxrwxrwx 1 zap zap 286 Dec 25 21:03 flatten.sh drwxrwxrwx 1 zap zap 512 Dec 25 21:03 metadata-api drwxrwxrwx 1 zap zap 512 Dec 25 21:03 migrations -rw-rw-rw- 1 zap zap 641251 Dec 25 21:03 package-lock.json -rw-rw-rw- 1 zap zap 904 Dec 25 21:03 package.json drwxrwxrwx 1 zap zap 512 Dec 25 21:03 scripts -rw-rw-rw- 1 zap zap 1100 Dec 25 21:03 truffle.js

ホーさん今日 21:55

あ、あと nvm use 8.11.2 も必要でした

OKです

ZAP今日 21:56

rmエラーだったんですよ。

ホーさん今日 21:56

あれ

node_modulesなかったですか

ZAP今日 21:56

まだインストールできてなかった?

ホーさん今日 21:56

そうかもです

がくし今日 21:57

僕同じことやっててなかったです

ホーさん今日 21:57

なるです。ではもう一度 npm install してみましょうか

ZAP今日 21:57

zap@DESKTOP-H0FTP1L:~/opensea/opensea-creatures$ nvm use 8.11.2 Now using node v8.11.2 (npm v5.6.0)

ホーさん今日 21:57

ちなみに学士さんもインストール失敗しました?

がくし今日 21:58

してました

今は動いてます

ホーさん今日 21:58

nodeのバージョンは8.11.2?

がくし今日 21:59

そす

ホーさん今日 21:59

あざます

ZAP今日 22:01

怪しいエラーがいくつか出てるんですが、完走しました。

ホーさん今日 22:01

ERRですか?WARNではなく?

ZAP今日 22:02

fatal errって致命的なエラーってことですよね?

ホーさん今日 22:02

なるほど、コンパイルエラー

ですねー

fatal error: libudev.h: No such file or directory

ここぽいですね

ZAP今日 22:03

そんなのないよって言われてますね。

ホーさん今日 22:03

sudo apt-get install libudev-dev

あ、sudo使えるのかな

ZAP今日 22:04

通りました。

ホーさん今日 22:04

ではもう一度 npm install

ZAP今日 22:05

ワーニングだけだったのでイケてる気がします。

ホーさん今日 22:05

おお

お疲れ様でした

ZAP今日 22:06

よかった。

ホーさん今日 22:06

今日はここまでにしましょうw

ZAP今日 22:06

そうですね。

ホーさん今日 22:06

私電車乗らなきゃいけないので笑

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 35.56 ALIS Article tip 20.00 ALIS
zap's icon'
  • zap
  • @zap
自作で「LIBERATE」というブロックチェーンゲーム作ってます。URL:https://liberatelite.vercel.app/

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS