ブロックãƒã‚§ãƒ¼ãƒ³å¯¾å¿œã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ»ãƒ­ã‚¤ãƒ¤ãƒ«ãƒ†ã‚£ãƒ¼ãƒ»ãƒ—ログラムを作æˆã™ã‚‹  

Hyperledger Fabric V1.4ã€IBM Blockchainã€Node.js を使用ã—㦠Web アプリã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’作æˆã™ã‚‹

By Ashutosh Nath Agarwal, Raheel Zubairy

Description

ã“ã®ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‘ターンã¯ã€Hyperledger Fabric 㨠IBM Blockchain ã® VS Code 拡張機能を使用ã—ã¦ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ã‚¢ãƒ—ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã®æ§‹ç¯‰ã‚’é–‹å§‹ã™ã‚‹ã“ã¨ã‚’目指ã—ã¦ã„る開発者を対象ã«ã—ã¦ã„ã¾ã™ã€‚ローカル㮠Fabric ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã« Hyperledger Fabric カスタマー特典プログラム・ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’セットアップã™ã‚‹æ–¹æ³•ã€IBM Blockchain ã® VS Code 拡張機能を使用ã—ã¦ã‚¹ãƒžãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒˆãƒ©ã‚¯ãƒˆã‚’インストールã—ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã™ã‚‹æ–¹æ³•ã€Hyperledger Fabric SDK を使用ã—ã¦ãƒ‡ãƒ—ロイ済ã¿ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¨ã‚„りå–りã™ã‚‹ Node.js Web アプリケーションを開発ã™ã‚‹æ–¹æ³•を学んã§ãã ã•ã„。

Overview

カスタマー・ロイヤルティー・プログラムã¯ã€ä¼æ¥­ãŒé »ç¹ã«è²·ã„物をã—ã¦ãれる得æ„客ã«ãã®è¦‹è¿”りを得ã¦ã‚‚らã†ãŸã‚ã®æ‰‹æ®µã§ã™ã€‚プログラムã®ãƒ¡ãƒ³ãƒãƒ¼ã¯å•†å“を購入ã™ã‚‹ã¨ãƒã‚¤ãƒ³ãƒˆã‚’ç²å¾—ã—ã¾ã™ã€‚ãƒã‚¤ãƒ³ãƒˆã¯å‰²å¼•や景å“ã€ã‚ã‚‹ã„ã¯ç‰¹åˆ¥ãªå¾…é‡ã¨ã„ã£ãŸä½•らã‹ã®ç‰¹å…¸ã«äº¤æ›ã§ãã‚‹ãŸã‚ã€ãƒ¡ãƒ³ãƒãƒ¼ã¯ç‰¹å…¸ã¨äº¤æ›ã™ã‚‹ãŸã‚ã«ä¸€å®šã®ãƒã‚¤ãƒ³ãƒˆæ•°ã‚’ãŸã‚よã†ã¨ã—ã¾ã™ã€‚ロイヤルティー・プログラムã«è¤‡æ•°ã®ä¼æ¥­ãŒãƒ‘ートナーã¨ã—ã¦é–¢ä¸Žã—ã¦ã„ã¦ã€ãれらã®ä¼æ¥­ãŒé¡§å®¢ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦ã‚µãƒ¼ãƒ“スをæä¾›ã™ã‚‹å ´åˆã‚‚ã‚りã¾ã™ã€‚ã‘れã©ã‚‚ç¾çжã®ãƒ­ã‚¤ãƒ¤ãƒ«ãƒ†ã‚£ãƒ¼ãƒ»ãƒ—ログラム・システムã§ã¯ãƒ‘ートナー間ã®é–¢ä¿‚ã«åˆ¶ç´„ãŒèª²ã›ã‚‰ã‚Œã‚‹ãŸã‚ã€ãƒ¡ãƒ³ãƒãƒ¼ã«å¯¾ã™ã‚‹ãƒ—ログラムã®å¯è¦–æ€§ãŒæãªã‚れãŒã¡ã§ã™ã€‚ã“ã†ã—ãŸåˆ¶ç´„ã‚’å–ã‚Šé™¤ãæ–¹æ³•ã¨ãªã‚‹ã®ãŒã€ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã«ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ»ãƒ­ã‚¤ãƒ¤ãƒ«ãƒ†ã‚£ãƒ¼ãƒ»ãƒ—ログラムを作æˆã™ã‚‹ã“ã¨ã§ã™ã€‚カスタマー・ロイヤルティー・プログラムを対象ã¨ã—ãŸã“ã®ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒ¢ãƒ‡ãƒ«ã¯ã€ãƒ—ログラムã®ãƒ¡ãƒ³ãƒãƒ¼ã«å¯¾ã—ã¦ã¯ãƒã‚¤ãƒ³ãƒˆã®ä¾¡å€¤ã‚’高ã‚ã€ãƒ‘ートナーã«å¯¾ã—ã¦ã¯ä¿¡é ¼ã®ç½®ã‘るトランザクションã«ã‚ˆã£ã¦æ–°ã—ã„価値をもãŸã‚‰ã™ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã†ã—ãŸå‚加者間ã®é–¢ä¿‚ã‚’æ·±ã‚ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¯ã€ãƒã‚¤ãƒ³ãƒˆã‚’中心ã¨ã—ã¦å…¨å‚加者をçµã³ä»˜ã‘ã¾ã™ã€‚

ã“ã®é–‹ç™ºè€…コード・パターンã§ã¯ã€Hyperledger Fabric 㨠Node.js を使用ã—ã¦ã€ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ»ãƒ­ã‚¤ãƒ¤ãƒ«ãƒ†ã‚£ãƒ¼ãƒ»ãƒ—ログラムをブロックãƒã‚§ãƒ¼ãƒ³ Web アプリケーションã¨ã—ã¦ä½œæˆã™ã‚‹æ–¹æ³•を説明ã—ã¾ã™ã€‚プログラムã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã“ã®ã‚¢ãƒ—リケーションを使用ã—ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ç™»éŒ²ã—ã€è‡ªåˆ†ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã—ã¾ã™ã€‚メンãƒãƒ¼ã¯ã€å„自ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆç•ªå·ã«ã‚ˆã£ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§è­˜åˆ¥ã•れã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ã‚­ãƒ¼ã‚’作æˆã—ã¾ã™ã€‚アクセス・キーã¯ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚„レコードã®ã‚¯ã‚¨ãƒªãƒ¼ã‚’行ã†éš›ã®ã‚«ãƒ¼ãƒ‰ ID ã¨ã—ã¦ã‚‚使用ã—ã¾ã™ã€‚メンãƒãƒ¼ã¯ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’行ã£ã¦ãƒã‚¤ãƒ³ãƒˆã‚’ç²å¾—ã—ãŸã‚Šã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã®ãƒ‘ãƒ¼ãƒˆãƒŠãƒ¼ãŒæä¾›ã™ã‚‹ç‰¹å…¸ã¨ãƒã‚¤ãƒ³ãƒˆã‚’交æ›ã—ãŸã‚Šã§ãã¾ã™ã€‚ã“れらã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒ¬ã‚¸ãƒ£ãƒ¼å†…ã«è¨˜éŒ²ã•れるãŸã‚ã€ãƒ¡ãƒ³ãƒãƒ¼ã¯è‡ªåˆ†ãŒè¡Œã£ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’表示ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‘ターンã§ã¯ã€ãƒ¡ãƒ³ãƒãƒ¼ãŒè‡ªåˆ†ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã—ã‹è¡¨ç¤ºã§ããªã„よã†ã€ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä¸€ç’°ã¨ã—ã¦ãƒ‘ーミッションを使用ã™ã‚‹æ–¹æ³•も説明ã—ã¾ã™ã€‚

ãƒ‘ãƒ¼ãƒˆãƒŠãƒ¼ã‚‚åŒæ§˜ã«ã€ID を作æˆã—ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ç™»éŒ²ã—ã€è¨˜éŒ²ã‚’表示ã™ã‚‹ãŸã‚ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ã‚­ãƒ¼ã‚’å–å¾—ã—ã¾ã™ã€‚パートナーã«è¡¨ç¤ºãŒè¨±å¯ã•れるトランザクションã¯ã€ãã®ãƒ‘ートナーãŒå‚加ã—ãŸã‚‚ã®ã ã‘ã§ã™ã€‚自らãŒå‚加ã—ã¦ãƒã‚¤ãƒ³ãƒˆã‚’与ãˆãŸã‚Šäº¤æ›ã—ãŸã‚Šã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«ã¤ã„ã¦ã¯ã€ã™ã¹ã¦è¿½è·¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‘ターンã§ä½œæˆã™ã‚‹ Web アプリケーションã¯ã€ãƒ‘ートナーãŒãƒ¡ãƒ³ãƒãƒ¼ã«å‰²ã‚Šå½“ã¦ã‚‹ã‹ã€ç‰¹å…¸ã¨äº¤æ›ã—ãŸã™ã¹ã¦ã®ãƒã‚¤ãƒ³ãƒˆã‚’表示ã™ã‚‹ãŸã‚ã®åŸºæœ¬çš„ãªãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã§ã™ã€‚トランザクションãŒè¤‡é›‘ã«ãªã£ã¦ããŸã‚‰ã€ãƒ‘ートナーã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’分æžã—ã¦æœ‰ç›Šãªæƒ…報を入手ã§ãるダッシュボードを作æˆã§ãã¾ã™ã€‚

ã“ã®ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‘ターンã¯ã€Hyperledger Fabric 㨠IBM Blockchain ã® VS Code 拡張機能を使用ã—ã¦ãƒ–ロックãƒã‚§ãƒ¼ãƒ³ãƒ»ã‚¢ãƒ—ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã®æ§‹ç¯‰ã‚’é–‹å§‹ã™ã‚‹ã“ã¨ã‚’目指ã—ã¦ã„る開発者を対象ã«ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‘ターンをã²ã¨é€šã‚Šå®Œäº†ã™ã‚‹ã¨ã€ä»¥ä¸‹ã®æ–¹æ³•ãŒã‚ã‹ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

  • IBM Blockchain ã® VS Code 拡張機能をベース㫠Hyperledger Fabric ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’セットアップã™ã‚‹
  • ローカル㮠Fabric ã«æŽ¥ç¶šã—ã€IBM Blockchain ã® VS Code 拡張機能ã«ã‚ˆã£ã¦ã‚¹ãƒžãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒˆãƒ©ã‚¯ãƒˆã‚’インストールã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã™ã‚‹
  • Hyperledger Fabric SDK を使用ã—ã¦ã€ãƒ‡ãƒ—ロイ済ã¿ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¨ã‚„りå–りã™ã‚‹ Node.js Web アプリケーションを開発ã™ã‚‹

注: ブロックãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¯è¤‡æ•°ã®ãƒ¡ãƒ³ãƒãƒ¼ã¨ãƒ‘ートナーãŒå‚加ã—ã¾ã™ã€‚

Flow

  1. メンãƒãƒ¼ãŒãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ç™»éŒ²ã—ã¾ã™ã€‚
  2. メンãƒãƒ¼ã¯ã‚¢ãƒ—リケーションã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ã€ãƒã‚¤ãƒ³ãƒˆã‚’ç²å¾—ã¾ãŸã¯äº¤æ›ã™ã‚‹ãŸã‚ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’行ã„ã¾ã™ã€‚ã¾ãŸã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’表示ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
  3. パートナーãŒãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ç™»éŒ²ã—ã¾ã™ã€‚
  4. パートナーã¯ã‚¢ãƒ—リケーションã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’確èªã—ãŸã‚Šã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã‚’表示ã—ãŸã‚Šã§ãã¾ã™ã€‚

Instructions

ã“ã®ãƒ‘ターンã«å–り組む準備ã¯ã§ãã¾ã—ãŸã‹ï¼Ÿè©³ç´°ãªæ‰‹é †ã«ã¤ã„ã¦ã¯ã€README ファイルをå‚ç…§ã—ã¦ãã ã•ã„。

Related Blogs

Call for Code 2019 応募ã«å‘ã‘ã¦å€‹åˆ¥ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ç›¸è«‡ä¼šã®äºˆç´„å—付開始

皆ã•ã‚“ã€ã“ã‚“ã«ã¡ã¯ã€‚IBM デベロッパーアドボケイト戸倉彩ã§ã™ã€‚ グローãƒãƒ«ãƒãƒƒã‚«ã‚½ãƒ³ã¯ç›®æ¨™ã‚’ã‚‚ã£ã¦ä»²é–“ã¨ä¸€ç·’ … ç¶šãを読む Call for Code 2019 応募ã«å‘ã‘ã¦å€‹åˆ¥ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ç›¸è«‡ä¼šã®äºˆç´„å—付開始

ç¶šã‘ã¦èª­ã‚€ Call for Code 2019 応募ã«å‘ã‘ã¦å€‹åˆ¥ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ç›¸è«‡ä¼šã®äºˆç´„å—付開始

Related Links

Express.js

Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.

Bootstrap

Bootstrap is an open source toolkit for developing with HTML, CSS, and JS.