SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Blockchain hands-on
Hyperledger Fabric & Hyperledger Composer
2019-06-22 Code and Response Day Numazu #2 1
作るもの
• 目的
• 緊急時に商品の在庫を融通するための在庫管理ブロックチェーン
• ロジック
• 各商品を登録
• 地震や異常気象などの緊急時に店舗間で、一般薬品など各商品の在庫を融通する処理を記録する。
• 融通された商品は、問題発生に備え、融通処理別に管理できるようにする。
• 自店舗の在庫からの出荷した後の残数を記録する
2
画面
A店からB店に風邪
薬を100箱融通
結果を返す
同期
同期
同期
在庫情報と
処理の履歴
ハンズオン対象
A店
B店
風邪薬が足りない、
いくらか融通して
欲しい。
わかった!
記録
記録
演習端末
• 演習用端末
• インターネットに接続できること
• Webブラウザ:Google Chrome シークレットウィンドウを推奨
• 画面:10.1インチ以上のPC、Mac、タブレット
• Google Chrome シークレットウィンドウの出し方
• Google Chromeを起動し、画面右上からアクセス
シークレット
ウィンドウは
虫眼鏡が表示
3
演習環境
(1) IBM公式版
https://composer-playground.mybluemix.net/
(2) 本日限定版
http://blockchain.cgm-u.com:8080
IBM公式版の動きが悪いとき
にはこちらを使ってください。
IBM公式版とは連携してい
ないのでご注意ください。
最初の画面はどちらも
一緒です。
Let’s Blockchain!
をクリック
4
演習環境の違い
(1) IBM公式版
https://composer-playground.mybluemix.net/
(2) 本日限定版
http://blockchain.cgm-u.com:8080
Deploy a new
business network
をクリック
クリックして、ブロック
チェーン作成画面へ。
Deploy a new
business network
をクリック
画面を下に移動し、
「Connection:Web Browser」と
表示されている位置まで移動。
5
ビジネスネットワーク作成
② 英数字で名称を
入力
③ admin@の後に上記
で入力した名称を入力
例 1st-blockchain
例 admin@1st-blockchain
①テンプレートでは、empty-
business-networkを選択
④ Deployをクリック
6
ビジネスネットワークの確認
作成したビジネス
ネットワーク
この中でブロック
チェーンを作る
⑤ Connect Nowを
クリック
ここで、ブロック
チェーンを開発、
テストができる
⑥ Model Fileを
クリック
7
モデル定義ファイルの編集
ファイルが消える
ので触れない!
8
⑦これと同じ内
容に書き換える
モデル定義
namespace org.example
//モノ
asset Item identified by itemId {
o String itemId
--> User owner
o Double stock
o String name
o String code
o String status
}
//人
participant User identified by userId {
o String userId
o String firstname
o String lastname
}
9
//トランザクション
transaction ItemTransfer {
--> Item from
--> Item to
o String code
o Double amount
}
//トランザクション
transaction withDraw {
-->Item itemId
o Double amount
}
https://bitbucket.org/kolinzlabs/handson-material/src/master/zaikoshare/ から
model.ctoファイルをコピーすると簡単。
ロジック定義ファイルを追加
⑧ Add a file を
クリック
⑨ Script File(js)
を選択
⑩ Add をクリック
10
ロジック定義ファイルの編集
Script File が選
ばれている
⑪ これと同じ内容
に書き換える
11
ロジック定義 前半
12
https://bitbucket.org/kolinzlabs/handson-
material/src/master/zaikoshare/ からscript.js
ファイルをコピーすると前半部分と後半部
分が簡単に1回で済みます。
/**
* Sample transaction
* @param {org.example.ItemTransfer} itemTransfer
* @transaction
*/
function itemTransfer(itemTransfer) {
if(itemTransfer.from.stock < itemTransfer.amount) {
throw new Error('Item stock is not enough!');
}
if (itemTransfer.from.code != itemTransfer.code) {
throw new Error('Item Code not matched!');
}
itemTransfer.from.stock -= itemTransfer.amount;
itemTransfer.to.stock += itemTransfer.amount;
return
getAssetRegistry('org.example.Item').then(function(assetRegis
try) {
return
assetRegistry.updateAll([itemTransfer.from,itemTransfer.to]);
});
}
ロジック定義 後半
13
https://bitbucket.org/kolinzlabs/handson-material/src/master/zaikoshare/ からscript.jsファイルをコピーすると
前半部分と後半部分が簡単に1回で済みます。
/**
* To withDraw amount from an item
* @param {org.example.withDraw} withDraw
* @transaction
*/
function withdraw(withDraw) {
withDraw.itemId.stock -= withDraw.amount;
return getAssetRegistry('org,example.Item').then(function(assetRegistry) {
return assetRegistry.update(withDraw.Id);
});
}
動作確認 (1) :ユーザー登録
⑫ Deploy changes
をクリック
問題なければ、このような
メッセージが表示される
⑬ Test をクリック
⑭ Create New Participant
をクリック
14
動作確認 (2):ユーザー登録
⑮ 右の表をもとに姓、名を
入力します。
⑯ Create New をクリック
項目名 入力内容 (原則 英数字)
userID 自動で割当られます。
firstName 名
lastName 姓
⑰ 登録情報を確認
編集
削除
追加登録
15
動作確認 (3):ユーザー登録
16
最低2名登録します。店舗Aと店舗Bの担当者のイメージです。
店舗A
店舗B
動作確認 (4):アイテム登録
⑱ Item をクリック
⑲ Create New Asset
をクリック
17
動作確認 (5):アイテム登録
⑳ 右の表をもとに在庫があ
る商品情報を入力します。
項目名 入力値 (原則 英数字) 備考
itemId 自動で割当られます。
owner resource:org.example.User#の後に、ユー
ザー登録で割当られた番号に書き換えます。
stock 100 在庫数
name 商品名
code 商品の英数字名
status 商品の在庫を融通可能など。例 OK
㉑ Create New をクリック
㉒ 登録情報を確認
18
動作確認 (6):アイテム登録
19
㉓ 店舗Aと店舗Bの間で、在庫を融通するため、同じ商品を登録します。
店舗A
の商品
店舗B
の商品
動作確認 (7) 在庫融通の確認
㉔ Submit Transaction
をクリック
項目名 入力内容 (原則 英数字)
from resource:org.example.
Item#の後に、店舗A の
商品ID を入力。
to resource:org.example.
Item#の後に、店舗B の
商品ID を入力。
code 商品コード
amount 数量
㉕ 右の表をもとに融通する
店ごとの商品IDと共通する商
品コード、数量を入力。
㉖ Submit をクリック
20
動作確認 (8):在庫融通結果
21
店舗A
の商品
店舗B
の商品
在庫を融通したことで、店舗A の在庫が減り、
店舗B の在庫が増えている。
動作確認 (9)
22
㉗ All Transactions を
クリック
㉘ トランザクション(データ処理)
履歴が表示されている
㉙ トランザクション(在庫融通処理)の確認
として、「view record」をクリック
Export
23
bna形式として保存
開発を途中で止めるときは、Export機能を用いて、bnaファイルとして出力します。
「Define」タブを
クリック。
作成したビジネスネットワーク
を保存するために、「Export」
をクリック
Import
24
ビジネスネットワーク
作成画面で、bnaファイ
ルをアップロード
Deployをクリック
「Export」で出力したbnaファイル
を、Importすることで、続きから
ブロックチェーンの開発を再開す
ることができます。
PC上で開発環境を整える手順
25
1. Linux環境またはMacOS X が使えるマシンを用意します。
Linux環境の場合は、OracleのVirtual Box がよく使われます。
2. Linuxは、Ubuntu 16.04 Server にします。
こちらからダウンロードできます。
http://releases.ubuntu.com/16.04/ubuntu-16.04.6-server-amd64.iso
3. ダウンロードしたISOイメージを用いて、Virtual Boxに、Ubuntu 16.04 Serverによる仮想マシンを
構築します。ネットワークアダプタは、NATで、ポートフォワーディングで、22番と8080番ポートに
つながるように設定します。
4. Hyperledger Composer & Fabric に必要なdockerなどをインストールします。
参照先 https://hyperledger.github.io/composer/latest/installing/installing-prereqs.html
5. Hyperledger Composer & Fabric をインストールします。
参照先 https://hyperledger.github.io/composer/latest/installing/development-tools.html
6. 「composer-playground」を起動すると、ブロックチェーン開発がスタートできます。
その他
26
1. ブロックチェーンにおけるブロックの中身を見たい。
Hyperledger Explorer https://cn.hyperledger.org/projects/explorer
2. いろいろなサンプルが欲しい
IBM Developer https://developer.ibm.com/jp/components/hyperledger-composer/

Weitere ähnliche Inhalte

Was ist angesagt?

mrubyのfiberを試してみた
mrubyのfiberを試してみたmrubyのfiberを試してみた
mrubyのfiberを試してみた
Kindai University
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Atsushi Tadokoro
 
サイ本読書会4章変数
サイ本読書会4章変数サイ本読書会4章変数
サイ本読書会4章変数
ztyper
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Akira Inoue
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法
Hiroki Mizuno
 

Was ist angesagt? (19)

Drag anddropfilereader
Drag anddropfilereaderDrag anddropfilereader
Drag anddropfilereader
 
Mongodb
MongodbMongodb
Mongodb
 
【Potatotips #30】RxJavaを活用する3つのユースケース
【Potatotips #30】RxJavaを活用する3つのユースケース【Potatotips #30】RxJavaを活用する3つのユースケース
【Potatotips #30】RxJavaを活用する3つのユースケース
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
 
そんなリザルトキャッシュで大丈夫か? #jjug
そんなリザルトキャッシュで大丈夫か? #jjugそんなリザルトキャッシュで大丈夫か? #jjug
そんなリザルトキャッシュで大丈夫か? #jjug
 
図解 ngrx
図解 ngrx図解 ngrx
図解 ngrx
 
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in TokyoGrails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
 
Reduxについて
ReduxについてReduxについて
Reduxについて
 
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
 
mrubyのfiberを試してみた
mrubyのfiberを試してみたmrubyのfiberを試してみた
mrubyのfiberを試してみた
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
Hyperledger Hands-on 2019-03-30 @ Singularity HIVE
Hyperledger Hands-on 2019-03-30 @ Singularity HIVEHyperledger Hands-on 2019-03-30 @ Singularity HIVE
Hyperledger Hands-on 2019-03-30 @ Singularity HIVE
 
覚醒!JavaScript
覚醒!JavaScript覚醒!JavaScript
覚醒!JavaScript
 
[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟
 
サイ本読書会4章変数
サイ本読書会4章変数サイ本読書会4章変数
サイ本読書会4章変数
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 

Ähnlich wie BMXUG ブロックチェーンハンズオン 20190622

20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
Yoichiro Sakurai
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
 
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fallこれからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
 

Ähnlich wie BMXUG ブロックチェーンハンズオン 20190622 (20)

NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Xamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみたXamarin で ReactiveUI を使ってみた
Xamarin で ReactiveUI を使ってみた
 
ログにまつわるエトセトラ
ログにまつわるエトセトラログにまつわるエトセトラ
ログにまつわるエトセトラ
 
React+redux+saga 02
React+redux+saga 02React+redux+saga 02
React+redux+saga 02
 
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
 
HM-2 (Health Manager v2, Cloud Foundry)
HM-2 (Health Manager v2, Cloud Foundry)HM-2 (Health Manager v2, Cloud Foundry)
HM-2 (Health Manager v2, Cloud Foundry)
 
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
 
ApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指してApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指して
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
Haikara
HaikaraHaikara
Haikara
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道
 
Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介
 
Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介Pydata Amazon Kinesisのご紹介
Pydata Amazon Kinesisのご紹介
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fallこれからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 

Mehr von Kohei Nishikawa

Mehr von Kohei Nishikawa (20)

水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
 
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティングDrupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
 
無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料
無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料
無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料
 
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
 
Raspberry Pi しかないときのIoTハンズオンチュートリアル
Raspberry Pi しかないときのIoTハンズオンチュートリアルRaspberry Pi しかないときのIoTハンズオンチュートリアル
Raspberry Pi しかないときのIoTハンズオンチュートリアル
 
無料のIBM Cloudライトアカウントで始めるIoTのHello World
無料のIBM Cloudライトアカウントで始めるIoTのHello World無料のIBM Cloudライトアカウントで始めるIoTのHello World
無料のIBM Cloudライトアカウントで始めるIoTのHello World
 
Idea : Task of Things Concept
Idea : Task of Things ConceptIdea : Task of Things Concept
Idea : Task of Things Concept
 
ブロックチェーンハンズオン 2019/01/26
ブロックチェーンハンズオン 2019/01/26ブロックチェーンハンズオン 2019/01/26
ブロックチェーンハンズオン 2019/01/26
 
Node-REDで生体情報測定するIoTデバイス試作
Node-REDで生体情報測定するIoTデバイス試作Node-REDで生体情報測定するIoTデバイス試作
Node-REDで生体情報測定するIoTデバイス試作
 
SpO2と心拍センサー、クラウド対応の試作
SpO2と心拍センサー、クラウド対応の試作SpO2と心拍センサー、クラウド対応の試作
SpO2と心拍センサー、クラウド対応の試作
 
Mattermost インストールハンズオン 2018年8月時点
Mattermost インストールハンズオン 2018年8月時点Mattermost インストールハンズオン 2018年8月時点
Mattermost インストールハンズオン 2018年8月時点
 
IBM Cloud x Lineボットハンズオン 2018年7月14日
IBM Cloud x Lineボットハンズオン 2018年7月14日IBM Cloud x Lineボットハンズオン 2018年7月14日
IBM Cloud x Lineボットハンズオン 2018年7月14日
 
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システムGCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
 
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
 
PostgreSQLをWatson Discoveryに接続する方法
PostgreSQLをWatson Discoveryに接続する方法PostgreSQLをWatson Discoveryに接続する方法
PostgreSQLをWatson Discoveryに接続する方法
 
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
 
eBook:Mauticはじめ方ガイド vol.0
eBook:Mauticはじめ方ガイド vol.0eBook:Mauticはじめ方ガイド vol.0
eBook:Mauticはじめ方ガイド vol.0
 
Mautic x Dynamics 365 (CRM) 連携やってみた
Mautic x Dynamics 365 (CRM) 連携やってみたMautic x Dynamics 365 (CRM) 連携やってみた
Mautic x Dynamics 365 (CRM) 連携やってみた
 
Mautic Zapier Integration を使って、Slack通知やってみる
Mautic Zapier Integration を使って、Slack通知やってみるMautic Zapier Integration を使って、Slack通知やってみる
Mautic Zapier Integration を使って、Slack通知やってみる
 
CMSにMauticのDynamic Content を設置してみた
CMSにMauticのDynamic Content を設置してみたCMSにMauticのDynamic Content を設置してみた
CMSにMauticのDynamic Content を設置してみた
 

Kürzlich hochgeladen

Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
Yasuyoshi Minehisa
 

Kürzlich hochgeladen (6)

UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
 
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
 
20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
 

BMXUG ブロックチェーンハンズオン 20190622