エンジニアのための実践SYMBOLブロックチェーンアプリケーション

書籍情報

発売日 : 2023年11月18日

著者/編集 : 株式会社Opening Line

出版社 : 秀和システム

発行形態 : 単行本

ページ数 : 328p

書籍説明

内容紹介

ブロックチェーン技術が登場してから10年以上が経過し、その影響力はビジネスや社会に広がりを見せています。すでに多数の文献やドキュメントがありますが、理論と概念を説明するだけのものがほとんどで、具体的な実装やアプリケーション開発の手順を示しているものが少ないのが現状です。本書は、そういった理論と実践のギャップを埋めるための書籍です。次世代のエンタープライズ向けブロックチェーンプラットフォーム「Symbol」を活用し、アプリケーションやシステムを構築するための実用的なガイダンスを提供しています。Symbolブロックチェーン(以前は「NEM」と呼ばれていました)は、エンタープライズ向けに開発されているため、ビジネスユースでのシステム構築(暗号通貨による決済システム、スマートコントラクト、ファイルなどの実物性の証明、トレーサビリティの追跡システムなど)に有用な機能を構築しやすくなっています。第1章では、Symbolブロックチェーンを利用するために必要な環境構築について説明し、ツールの導入と確認、SDKの導入、デスクトップウォレットのセットアップ、テストアカウントによる動作確認を行っています。第2章は、本書のハイライトの1つといっても過言ではなく、Symbolブロックチェーンの各機能について、デモアリプリケーションを構築し、実際に動かしてみながら確認していきます。この章をクリアできれば、どんなアプリケーションでも作れるようになります。第3章では、実際にブロックチェーンがどのような領域で使われているかを見ていきます。第4章から第8章では、第3章で確認したそれぞれ領域において、具体的な実装を行いながら学んでいきます。

目次

まえがき
刊行に寄せて
本書について
第1章 Symbolブロックチェーン開発のための環境構築
1-1 ツールの導入と確認
1-1-1 Node.js関連ツールの導入
1-1-2 TypeScriptの導入
1-2 SDKの導入
1-2-1 作業用ディレクトリの作成
1-2-2 package.jsonの作成
1-2-3 symbol-sdkのインストール
1-2-4 サンプルコード
1-3 デスクトップウォレットのセットアップ
1-3-1 ダウンロードページへのアクセス
1-3-2 プロファイルの作成
1-3-3 ニーモニックの生成
1-3-4 ニーモニックフレーズの保存
1-3-5 ニーモニックの認証
1-3-6 完了
1-3-7 アカウントの確認
1-3-8 ウォレットの日本語化
1-4 フォーセットからテストネット用の通貨を準備
1-4-1 フォーセットについて
1-4-2 取得の際の注意点
1-5 トランザクションの作成
1-5-1 テストネットにアカウントを追加作成する
1-5-2 トランザクションを実行する
1-5-3 受け取りアカウントでのトランザクションの確認
1-6 Symbolエクスプローラーでのトランザクションの確認
1-6-1 Symbolエクスプローラーにアクセス
1-6-2 トランザクション内容の可視化
1-6-3 トランザクションの詳細
1-6-4 ハッシュからの検索方法
1-6-5 アドレスからの検索方法
第2章 SymbolブロックチェーンWebアプリケーション実装:基礎
2-1 Symbol SDK
2-1-1 Symbolブロックチェーンを扱うために必要なもの
2-1-2 アカウントの作成
2-1-3 ソースコードと実行結果
2-1-4 デスクトップウォレットでのアカウントのインポート
2-1-5 アカウントの情報を取得する
2-1-6 実行結果
2-1-7 まとめ
2-2 トランザクション
2-2-1 コードの解説
2-2-2 ソースコードと実行結果
2-2-3 Symbol SDKを使用した承認済みトランザクションの検索
2-2-4 ソースコードと実行結果
2-2-5 Symbol SDKを使用したアグリゲートトランザクションの作成とアナウンス
2-2-6 ソースコードと実行結果
2-2-7 トランザクションステータスの取得
2-2-8 ソースコードと実行結果
2-3 モザイクの作成と送信
2-3-1 コードの解説
2-3-2 ソースコードと実行結果
2-3-3 複数のモザイクを送信する
2-3-4 ソースコードと実行結果
2-4 ネームスペースの作成
2-4-1 ルートネームスペースの作成
2-4-2 ソースコードと実行結果
2-4-3 サブネームスペースの作成
2-4-4 ソースコードと実行結果
2-4-5 ネームスペースの有効期限の確認
2-4-6 ソースコードと実行結果
2-4-7 ネームスペースとアドレスを紐付ける
2-4-8 ソースコードと実行結果
2-4-9 ネームスペースをモザイクに紐付ける
2-4-10 ソースコードと実行結果
2-4-11 ネームスペースから情報を取得する
2-4-12 ソースコードと実行結果
2-4-13 ネームスペースを使用したトランザクションの送信
2-4-14 ソースコードと実行結果
2-4-15 ネームスペースを使用したモザイクの送信
2-4-16 ソースコードと実行結果
2-4-17 まとめ
2-5 メタデータ
2-5-1 アドレスにメタデータを付与する
2-5-2 ソースコードと実行結果
2-5-3 他のアドレスにメタデータを付与する
2-5-4 ソースコードと実行結果
2-5-5 モザイクにメタデータを付与する
2-5-6 ソースコードと実行結果
2-5-7 ネームスペースにメタデータを付与する
2-5-8 ソースコードと実行結果
2-5-9 メタデータを取得する
2-6 ロック
2-6-1 トランザクションをアナウンスする
2-6-2 ソースコードと実行結果
2-6-3 シークレットロック
2-6-4 ソースコードと実行結果
2-6-5 まとめ
2-7 マルチシグについて
2-7-1 マルチシグアカウントの作成
2-7-2 ソースコードと実行結果
2-7-3 成功した場合
2-7-4 マルチシグトランザクションを用いた送信
2-7-5 ソースコードと実行結果
2-7-6 まとめ
2-8 監視
2-8-1 リスナーの実行
2-8-2 ソースコード
2-8-3 トランザクションの監視
2-8-4 ソースコードと実行結果
2-8-5 ブロックの監視
2-8-6 ソースコードと実行結果
2-8-7 まとめ
2-9 アカウントの制限
2-9-1 アカウントに対する受信制限
2-9-2 アカウントに対するモザイク受信制限
2-9-3 アカウントに対するトランザクションの制限
2-9-4 モザイクに対する制限
2-9-5 制限モザイクの送信
2-9-6 まとめ
2-10 オフライン署名について
2-10-1 アグリゲートトランザクションのオフライン署名
2-10-2 補足
2-10-3 ソースコードと実行結果
2-11 検証について
2-11-1 アカウントの検証
2-11-2 ソースコードと実行結果
2-11-3 まとめ
第3章 ブロックチェーンを使った実践的なサービスのロジックを学ぶ
3-1 スマートコントラクトとは
3-1-1 スマートコントラクトを考える上でのポイント
3-1-2 スマートコントラクトのアーキテクチャで注意するポイント
3-1-3 スマートコントラクトでのチケット交換のアーキテクチャ
3-2 NFT
3-2-1 NFTとは
3-2-2 現在のNFTの種類
3-2-3 FTとNFTの違い
3-2-4 NFTのアーキテクチャ
3-3 アポスティーユ
3-3-1 アポスティーユとは
3-3-2 アポスティーユを考える上でのポイント
3-3-3 アポスティーユのユースケース
3-3-4 アポスティーユのアーキテクチャ
3-4 検証
3-4-1 検証とは
3-4-2 検証することによる効果
3-4-3 検証する上で重要なこと
3-4-4 検証のアーキテクチャ
3-5 トレーサビリティ
3-5-1 トレーサビリティとは
3-5-2 トレーサビリティのユースケース
3-5-3 トレーサビリティ導入に当たって気を付けるべきこと
3-5-4 トレーサビリティのアーキテクチャ
第4章 「スマートコントラクト」のWebアプリケーション開発
4-1 デモアプリの概要
4-2 アプリの動作イメージ
4-3 環境構築
4-3-1 管理者アカウントの作成
4-3-2 ローカル環境での確認
4-4 コード解説
4-4-1 運営側アカウント作成のためのユーティリティツール
4-4-2 SSS Extensionの利用
4-4-3 ブロックチェーン接続のための共通設定や関数
4-4-4 バックエンド側の関数
4-4-5 フロントエンド側の関数
4-4-6 UI部分
4-5 本章のまとめ
4-5-1 ハンズオンの動画のURL
4-5-2 デスクトップウォレットで署名する際の設定
第5章 「NFT」のWebアプリケーション開発
5-1 デモアプリの概要
5-1-1 NFTの発行
5-1-2 モザイクIDからのNFTの確認
5-1-3 アドレスからのNFTの確認
5-2 環境構築
5-2-1 ローカル環境での確認
5-3 コード解説
5-3-1 createnft
5-3-2 checkNFT
5-3-3 checkaddressnft
5-4 本章のまとめ
第6章 「アポスティーユ」のWebアプリケーション開発
6-1 デモアプリの概要
6-1-1 オーナーオプションとマルチシグアカウント
6-2 アプリ動作イメージ
6-3 環境構築
6-3-1 ローカル環境での確認
6-4 コード解説
6-4-1 アポスティーユの作成
6-4-2 UI部分
6-5 本章のまとめ
第7章 「検証」のWebアプリケーション開発
7-1 デモアプリの概要
7-2 アプリの動作イメージ
7-3 コード解説
7-3-1 アポスティーユの監査
7-3-2 UI部分(Apostilleの監査)
7-3-3 UI部分(マイページ)
7-4 本章のまとめ
第8章 「トレーサビリティ」のWebアプリケーション開発
8-1 デモアプリの概要
8-2 アプリの動作イメージ
8-3 環境構築
8-3-1 管理者アカウントの作成
8-3-2 ローカル環境での確認
8-4 コード解説
8-4-1 ユーザーアカウントの作成やチェック
8-4-2 商品アカウントの作成
8-4-3 トレース情報の記録
8-4-4 履歴の表示
8-4-5 UI部分
8-5 本章のまとめ
Appendix より深く学ぶために
A-1 デプロイ
A-1-1 Vercelによるデプロイ
A-1-2 チェックポイント
A-2 開発ツール
A-2-1 SDKについて
A-2-2 今後のバージョンアップ
A-3 多言語開発
A-3-1 tsunagi-functions
A-4 リソース
A-4-1 コミュニティ
A-4-2 YouTube
あとがき

著者情報

株式会社Opening Line
株式会社OpeningLine