Skip to content

bootarou/blockchain-network-launcher

Repository files navigation

Symbol Network Manager

Symbol ブロックチェーンのカスタムネットワーク(プライベートネットワーク)を Web UI で構築・管理するブロックチェーン-ネットワーク-ランチャー(BNL)です。

Symbol Bootstrap Docker License

概要

Docker コンテナ 1 つを起動するだけで、Symbol ノードの設定・起動・停止・監視がすべてブラウザから操作できます。

  • 🖥️ Web UI — React + Tailwind CSS によるモダンなダッシュボード
  • 🔧 ノード管理 — 起動 / 停止 / 再起動 / フルリセットをワンクリック
  • 🌐 ネットワーク参加 — Seed ファイルのインポートで簡単にカスタムネットワークへ参加
  • 📊 リアルタイム監視 — ブロック高・ファイナリティ高・ピア数・ハーベスト状態を表示
  • 📜 ターミナルログ — Docker コンテナログを WebSocket でリアルタイム表示
  • 🔑 アドレス管理 — ノードのアドレス・公開鍵をワンクリックでコピー
  • 💾 バックアップ / リストア — 設定ファイルの zip ダウンロード・アップロード
  • 🌍 多言語対応 — 日本語 / English 切り替え
  • 🌙 ダーク / ライトテーマ — 好みに応じて切り替え

スクリーンショット

最新 UI のイメージです。

Symbol Network Manager UI

アーキテクチャ

┌─────────────────────────────────────────────────────┐
│  symbol-manager コンテナ                            │
│                                                     │
│  ┌─────────────┐      ┌──────────────────┐         │
│  │  Frontend    │      │  Backend         │         │
│  │  React       │◄────►│  Express + WS    │         │
│  │  Vite :5173  │      │  :4000           │         │
│  └─────────────┘      └──────┬───────────┘         │
│                              │ docker.sock          │
└──────────────────────────────┼──────────────────────┘
                               ▼
                  ┌────────────────────────┐
                  │  symbol-bootstrap      │
                  │  (sibling containers)  │
                  │                        │
                  │  api-node-0  :7900     │
                  │  rest-gateway :3000    │
                  │  broker               │
                  │  db (MongoDB)         │
                  └────────────────────────┘

必要環境

要件 バージョン
Docker 20.10 以上
Docker Compose v2 以上
OS Windows / macOS / Linux
メモリ 8 GB 以上推奨
ディスク 20 GB 以上の空き容量

💡 推奨: ネイティブ Linux + Docker Engine(Docker Desktop 不要)

クイックスタート

1. リポジトリをクローン

git clone https://github.com/bootarou/blockchain-network-launcher.git
cd blockchain-network-launcher

2. Docker イメージをビルド

docker compose build

⚠️ Docker Compose v2.34+ (Docker Desktop 4.45+) では Bake がデフォルト有効になり、ビルドが失敗する場合があります。その場合:

PowerShell:

$env:COMPOSE_BAKE="false"; docker compose build

Linux / macOS:

COMPOSE_BAKE=false docker compose build

3. コンテナを起動

docker compose up -d

4. ブラウザでアクセス

http://localhost:5173

使い方

新規ネットワーク構築(Nemesis ノード)

  1. Configuration タブで Assembly = dual、Preset = bootstrap を選択
  2. ホスト IP、フレンドリーネーム等を設定
  3. SaveStart でネメシスブロックが生成されノードが起動

既存ネットワークに参加

  1. Join Network タブでソースノードの REST API URL を入力
  2. Import Seed File でネットワーク管理者から受け取った Seed ファイルをインポート
  3. Configuration タブで設定を確認 → SaveStart

ネットワーク共有(他ノードの招待)

  1. Share Network タブで Seed ファイルをダウンロード
  2. 参加者に Seed ファイルと REST API URL を配布

詳しい操作手順は MANUAL.md を参照してください。

プロジェクト構成

├── backend/
│   ├── server.ts          # Express API + WebSocket サーバー
│   └── package.json
├── frontend/
│   ├── src/
│   │   ├── App.tsx         # メインアプリケーション
│   │   ├── components/     # React コンポーネント
│   │   ├── i18n/           # 多言語リソース (ja/en)
│   │   ├── lib/            # API クライアント・ユーティリティ
│   │   └── theme/          # テーマ管理
│   ├── index.html
│   └── vite.config.ts
├── shared/
│   └── custom-preset.yml   # symbol-bootstrap カスタムプリセット
├── docker-compose.yml
├── Dockerfile
├── start.sh                # コンテナ起動スクリプト
└── MANUAL.md               # ユーザーマニュアル

技術スタック

Frontend

  • React 19 + TypeScript
  • Vite — 高速ビルド & HMR
  • Tailwind CSS 4 — ユーティリティファーストCSS
  • Lucide React — アイコン
  • WebSocket — リアルタイムログ・ステータス更新

Backend

  • Node.js 20 + TypeScript (tsx)
  • Express 5 — REST API
  • WebSocket (ws) — ターミナルログ配信
  • symbol-bootstrap — ノード構成・起動管理
  • Docker CLI — サイドカーコンテナ操作 (DinD パターン)

環境変数

変数 デフォルト 説明
SYMBOL_TARGET_DIR /var/lib/symbol-target symbol-bootstrap のターゲットディレクトリ
SYMBOL_BOOTSTRAP_REPO https://github.com/bootarou/symbol-bootstrap.git symbol-bootstrap の Git リポジトリ URL
NODE_ENV development 実行環境
PORT 4000 バックエンド API ポート

ポート一覧

ポート 用途
5173 Frontend (Vite dev server)
4000 Backend API & WebSocket
3000 Symbol REST Gateway (symbol-bootstrap が管理)
7900 Symbol P2P ノード (symbol-bootstrap が管理)

ドキュメント

  • MANUAL.md — 詳細なユーザーマニュアル(Docker Host Mode、nodeEqualityStrategy、トラブルシューティング等)

ライセンス

ISC

About

A tool for Launching and managing custom blockchain networks.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors