Stand Up and Shout!

勉強したことや、思いついたことを気ままに記述します

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

2023年11月18日に『エンジニアのための実践SYMBOLブロックチェーンアプリケーション』が出版されました。

目次の俯瞰(マークダウン形式)

# エンジニアのための実践SYMBOLブロックチェーンアプリケーション
## 刊行に寄せて
## 本書について
## 第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