ERC721xやってみた(truffle編)


ERC721によるオークションシステム作成も終わり、次はERC721xかぁ~、という事で、
早速本家ページを確認してトライしてみました。

ERC721x.org

なんというかLOOMな感じのサイトですね(個人的には大好きです)。
https://erc721x.org/

ERC721と比較すると、721x系APIの違いが見えてくるのでお勧めです。
http://erc721.org/

3分でERC721xを試す・準備編

今回は、ERC721xサイト公式の右下にある「Quick Start / Test the reference implementation」を実行してみます。

事前に下記インストールが必要なので、準備しておいて下さい。
・node.js
・yarn
・truffle
・Ganache (GUI)

3分でERC721xを試す・実践編

では実践編です(ここから3分です

まず、作業用フォルダを作成し、git cloneを行いましょう。

git clone https://github.com/loomnetwork/erc721x.git

すると、フォルダ「erc721x」が生成されるので、カレントパスを変更しましょう。

cd erc721x

次に、yarnで必要なパッケージをインストールします。

yarn install

さらに、HD Wallet のパッケージも追加しましょう。

npm install truffle-hdwallet-provider

さて、ここまでで実行準備は完了です。
あとはtruffleコマンドを使って好きにいぢればOKですが、
(truffle compile、truffle migrate、等々)
ここは手順にのっとって、テストコマンドを実行してみましょう。

まず、テスト用のデプロイ先として、「Ganache (GUI)」を起動します。

※ここで、IPアドレスが、デフォルトの「http://127.0.0.1:7545」になっている事を確認して下さい。
※Ganache設定「AUTOMINE」を「ON」にすると、テストがスムーズに進むので便利です。

次に、テストコマンドを実行します。

truffle test

すると自動的にコンパイル・マイグレート・テストが実行されます。

上記画面が表示されれば成功です。
21個のテストに合格している事が分かります。

テスト後にGanacheを確認すると、466のトランザクションが発生している事が分かります。
(「AUTOMINE ON」で実施したので、1トランザクション発生毎に1ブロック生成される為)

truffleのtestフォルダを見ればテストコードが記載してあるので、ERC721xに期待する挙動が分かりやすいと思います。
このサンプルをベースにすれば、簡単にERC721xコントラクトを構築できそうですね。