Upgrade to Pro — share decks privately, control downloads, hide ads and more …

おじさんでもできるLINE BlockchainでNFT

おじさんでもできるLINE BlockchainでNFT

LINE Blockcahin developersのAPIを使ってNFTを作って、おじさんもWeb3.0を体験しましょう。
岡 伸幸 (ソフトバンク株式会社)

初出
2022/05/25(水)
SB Tech Night #7 Web3とはなにか? #SBTechNight
https://sbtechnight.connpass.com/event/245846/

61c616e83bef28a1cd2666439ebf334b?s=128

SB Tech Night

May 25, 2022
Tweet

More Decks by SB Tech Night

Other Decks in Technology

Transcript

  1. 1 ©2022 SoftBank Corp. Confidential / ©2022 SoftBank Corp. ©2022

    SoftBank Corp. おじさんでもできる LINE BlockchainでNFT 2022年5⽉25⽇ ソフトバンク株式会社 テクノロジーユニット サイバーセキュリティ本部 ISC統括 Payment連携開発部 岡 伸幸
  2. 2 ©2022 SoftBank Corp. これまでブロックチェーンでやってきたこと 2015.09︓ブロックチェーンに関するR&D開始 2016.01︓国際募⾦プラットフォームのプロトタイプ開発 (Smart Contract) プレスリリース︓https://www.softbank.jp/corp/group/sbm/news/press/2016/20160106_01/

    2017.03︓ブロックチェーン技術を活⽤したサービスアイデア・コンテスト (Hyperledger fabric) プレスリリース︓https://www.softbank.jp/corp/group/sbm/news/press/2017/20170302_02/ 2018.11︓IoTと暗号通貨を活⽤したMR購⼊体験 (ブロックチェーン+IoT+MR+認証) DCEXPO URL︓https://www.dcexpo.jp/archives/2018/exhibition-c/17875.html 2019.12︓IoTデータ証明プロトタイプ開発 (ERC721検証) 2020.04︓株主コミュニティ プロトタイプ開発 (ERC1400検証) 2020.04~︓トークンエコノミーシステム検討中 (ERC721,2571,1155検証) 2015 2016 2017 2018 2019 2020 2021
  3. 3 ©2022 SoftBank Corp. メタバースでなくAR/VR/MRとしてやってきたこと with Augmented Reality with Virtual

    Reality AR空間内での操作で実在する機器を操作 VR/MR空間内の操作とリアル空間の操作を同期 2018年のこと 2020年のこと AR空間で⼈と⾃販機を認証 仮想通貨で⽸飲料が買える VR/MR空間内でセンサーで農地と天気はリアルにわかる。 半⾃律型ローバーをリモート操作できた。NFTをどうしようか︖ with Mixed Reality
  4. 4 ©2022 SoftBank Corp. 市⺠農園の賃貸サイト「誰でも農業」作ってみました 所有するアセット (ウォレット) サイト トップページ ※プロトタイプなので公開してません。

  5. 5 ©2022 SoftBank Corp. LINE BlockchainでNFTを作ってみよう、Web3らしいので https://blockchain.line.biz/ 参考:「パラダイムシフトの中でも「誰一人、取り残さない」 LINEが描くWeb3の未来」 coindesk

    JAPAN 2022.5.11記載 https://www.coindeskjapan.com/147374/
  6. 6 ©2022 SoftBank Corp. LINE Blockchainの構成 出典︓LINE Blockchain Docs 「概要」より

    https://docs.blockchain.line.me/ja/overview/ LINEが開発・運営する ブロックチェーンのネッ トワーク LINE Blockchainの機能を利⽤する ために必要なコンソールやAPIを提 供する開発プラットフォーム LINE IDと紐づく統合型ウ ォレットサービス
  7. 7 ©2022 SoftBank Corp. LINE Blockchainプラットフォーム LINE Blockchainプラットフォームでのサービス開発には、大きく4つのステップがあります。 1. LINE

    Developersでチャネルを作成し、サービスとLINEログインを連携させます。 2. LINE Blockchain Developersのすべての機能を使用できるようにCashew Partnerアカウントを申請します。 3. LINE Blockchain Developersコンソールで、サービスおよび必要なトークンを作成した後、APIを使用してサービスに必要な ブロックチェーンの機能を実装します。 4. サービスユーザー向けにLINE BITMAX Walletと連携し、トークンの転送や取引ができるようにします。 出典︓LINE Blockchain Docs 「概要」より https://docs.blockchain.line.me/ja/overview/service-development-workflow
  8. 8 ©2022 SoftBank Corp. https://blockchain.line.biz/ LINE Blockchain Developers

  9. 9 ©2022 SoftBank Corp. Cashew(テストネット)を使ってみる https://blockchain.line.biz/?status=none#/pricing

  10. 10 ©2022 SoftBank Corp. チュートリアルの基礎コースでNFTを作ってみます。 Step 1.サービスを作成する Step 2.Non-fungibleアイテムトークンを作成する Step

    3.Test Coinをリクエストする Step 4.LINE BITMAX Walletに登録する Step 5.LINE BITMAX Walletで⽀払う Step 6.サービストークンでリワードを与える Step 7.サービスウォレットを確認する ①Non-fungible アイテムトーク ンを作成する ②Non-fungible のアイテムトー クンを鋳造する ③作成および鋳 造の結果を確認 する ※アイテムトークンの鋳造、償却、転送 はコンソールで出来ないのでAPIを使い ます。 出典︓LINE Blockchain Docs「サービスチュートリアル>基礎コース」より https://docs.blockchain.line.me/ja/service-tutorial/Step1
  11. 11 ©2022 SoftBank Corp. Open API https://docs-blockchain.line.biz/ja/ https://docs-blockchain.line.biz/ja/api-guide/API-Reference

  12. 12 ©2022 SoftBank Corp. アイテムトークン(NFT)の転送 import os import requests import

    random import string import time def POST_v1_wallets_walletAddress_item_tokens_contractId_non_fungibles_tokenType_tokenIndex_transfer(): server_url = os.environ['SERVER_URL'] service_api_key = os.environ['SERVICE_API_KEY'] service_api_secret = os.environ['SERVICE_API_SECRET'] nonce = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(8)) timestamp = int(round(time.time() * 1000)) path = '/v1/wallets/tlink1fr9mpexk5yq3hu6jc0npajfsa0x7tl427fuveq/item-tokens/61e14383/non-fungibles/10000001/00000001/transfer' request_body = { 'walletSecret': 'PCSO7JBIH1gWPNNR5vT58Hr2SycFSUb9nzpNapNjJFU=', 'toAddress': 'tlink1s658utvasn7f5q92034h6zgv0zh2uxy9tzmtqv' } headers = { 'service-api-key': service_api_key, 'nonce': nonce, 'timestamp': str(timestamp), 'Content-Type': 'application/json' } signature = get_signature('POST', path, nonce, timestamp, service_api_secret, body=request_body) headers['signature'] = signature res = requests.post(server_url + path, headers=headers, json=request_body) return res.json() 出典︓LINE Blockchain Docs APIリファレンス 「Non-fungibleアイテムトークンを転送する(サービスウォレット)」より https://docs.blockchain.line.me/ja/api-guide/category-service-wallets/transf
  13. 13 ©2022 SoftBank Corp. 画像サーバを設置する場合のしくみ 下図は、画像サーバーがある場合、LINE Blockchain Developersがアイテムトークン画像や動 画を取得してLINE BITMAX

    Walletに表示する流れを簡単に示します。 出典︓LINE Blockchain Docs「アイテムトークンのアイコンを提供する」よ り
  14. 14 ©2022 SoftBank Corp. コード書く時の注意点(おじさん向け) •メタバースで使うNFTをLINE Blockchain developersで作ることが前提なのでメタバースも開 発するということではありません。あしからずです。 •APIリファレンスのコード例(Python)をコピーして実⾏しても動きません。

    特に signature = get_signature('GET', path, nonce, timestamp, service_api_secret) get_signatureファンクションないので「署名の⽣成」を参照してください。 •レスポンスでhttp status codeが”202”、レスポンスボディのStatus codeが"1002"(Accepted) が返ってきた場合、「コールバック応答」で結果を取得できます。または、レスポンスボディの txHashを使って「トランザクションを取得する」で結果を取得します。 •「コールバック応答」はコンソールで設定できますが、URL(https)は1つだけのようです。 URLだけ設定してコールバック応答⽤のコードも書いてください。 •アプリを作成しLINEアカウントのログインの⽅法はLINE Developersのドキュメント「LINEロ グイン v2.1 APIリファレンス」を参照してください。
  15. 15 ©2022 SoftBank Corp. ご清聴ありがとうございました。