LoginSignup
1
1

Hyperledger FireFlyのWeb3ゲートウェイ機能を使ってみる

Posted at

今回は、Hyperledger FireFlyのWeb3 ゲートウェイ機能を使ってNFT生成について動作確認してみましたので、その手順と結果を紹介します。
ローカル観光での構築から外部への公開までを数回に分けて記事にしたいと思います。

やること

  • Hyperledger FireFly Binance Testnet接続環境の起動 ※ 当投稿
  • BinanceTestnet上のスマートコントラクトのデプロイ 以下は次回以降に掲載
  • Hyperledger FireFly 画像データおよびIPFS登録
  • NFT化したトークンの転送

参考サイト

Hyperledger FireFlyのエンジニアの方がワークショップを公開してくれていました。
こちらを参考にしました。

主要機能の構成イメージ

image.png

環境構築

Hyperledger FireFly 主要画面

Hyperledger FireFlyを起動すると、4種類のUIのサービスが提供されます。

  1. FireFly UI
    Hyperledger FireFlyサービス内でのイベントなどを確認することができます。
  2. SoundBox
    スマートコントラクトを制御することができます。
  3. IPFS api UI
    ローカルIPFS環境の動作状況を確認することができます。
  4. IPFS Gateway UI
    IPFSに登録されたデータをCIDを指定することにより確認することができます。

環境構築からNFT生成までのステップ

当記事で紹介

  • Hyperledger FireFly環境を新規でWeb3 ゲートウェイ機能を有効にしBinaceテストネットと通信できるようにします。

ここからは次回以降に紹介

  • BinaceテストネットトークンをFausetサイトから入手します。
  • Binaceテストネット上にNFT用のコントラクト(ERC-721ベース)をデプロイします。
  • NFT用のコントラクトの関数などのメタ情報をFireFly側に登録します。
  • NFTとして扱う画像をFireFly側に登録します。
  • FireFly側に登録した画像をPublicに公開します。
  • NFTテキストデータをFireFly側に登録します。
  • FireFly側に登録したNFTテキストデータをPublicに公開します。
  • 発行したNFTを他のユーザに転送して、ウォレットから確認します。

各種モジュール

Hyperledger FireFlyを動作させるにあたり、以下のツールをあらかじめ用意します。

  • WSL2 (Windows環境にて動作させる場合に必要です)
  • Ubuntu 18.04 (WSL2もしくは通常のUbuntu環境を使用)
  • Docker(Docker Compose含む)
  • OpenSSL

構築手順詳細

Hyperledger FireFly CLI

FireFlyを導入する際のメインのコマンドです。
WSL2環境を起動します。
https://hyperledger.github.io/firefly/gettingstarted/ サイトを参照し構築します。
firefly cliをこちらからダウンロードし、解凍して展開します。
展開するとffファイルまでのパスを通します。ffコマンドでバージョンを表示されればHyperledger FireFly CLIのセットアップは完了です。

$ cd 
$ mkdir ff_cli
$ cd ff_cli
$ wget https://github.com/hyperledger/firefly-cli/releases/download/v1.2.2/firefly-cli_1.2.2_Linux_x86_64.tar.gz
$ tar xzvf firefly-cli_1.2.2_Linux_x86_64.tar.gz
$ echo 'export PATH=<set your current path>:$PATH' >> ~/.bashrc
$ source ~/.bashrc
$ ff version
 {
  "Version": "1.2.2",
  "Commit": "082945514f3bdfaffd5d01c222a817330b7372c1",
  "Date": "2023-08-18T13:26:09Z",
  "License": "Apache-2.0"
 }

Binance スマートチェーン テストネット接続設定

FireFlyのBinance接続環境のスタックを構築します。
evmconnect.ymlファイルに定義情報を記載し、ffコマンドにBinanceテストネットのチェーン情報およびevmconnect.ymlを指定します。
なお、今回は最終的にNFTを発行するため、IPFSの設定をこのタイミングで有効にします。

$ cd
$ mkdir param
$ cd param
$ vi evmconnect.yml
※  evmconnect.ymlに以下の内容を記載し保存します

evmconnect.ymlの内容

confirmations:
  required: 3
policyengine.simple:
  fixedGasPrice: null
  gasOracle:
    mode: connector

記載したら以下のコマンドを実行します。
正常に終了するとテストネット接続設定の完了です。

$ ff init ethereum bsc 1 --multiparty=false -n remote-rpc --remote-node-url  https://data-seed-prebsc-1-s3.binance.org:8545  --chain-id 97 --ipfs-mode public --connector-config evmconnect.yml

なお、ffコマンドにより定義情報が~/.firedly下に展開されます。
ここで展開された情報は、FireflyのDockerを起動時に各ファイルが読み込まれます。
ffコマンドによりbsc起動情報が登録されました。以下のコマンドによりbscが存在することを確認できます。

$ ff list
FireFly Stacks:
bsc

Fireflyサービスの起動

initコマンドを実行後、Fireflyサービスを起動します。

$ sudo service docker start
 * Starting Docker: docker  
$ ff start bsc
done

Web UI for member '0': http://127.0.0.1:15000/ui
Sandbox UI for member '0': http://127.0.0.1:15109

To see logs for your stack run:

ff logs bsc

ffコマンドが完了すると上記内容が表示されます。
ブラウザを起動しそれぞれのURLでWebページが表示されることを確認します。

  • Web UI
    image.png

  • Sandbox UI
    image.png

次回は

NFTを発行までの手順を紹介したいと思います。

1
1
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
1
1