Symbol ブロックチェーンのカスタムネットワーク(プライベートネットワーク)を Web UI で構築・管理するブロックチェーン-ネットワーク-ランチャー(BNL)です。
Docker コンテナ 1 つを起動するだけで、Symbol ノードの設定・起動・停止・監視がすべてブラウザから操作できます。
- 🖥️ Web UI — React + Tailwind CSS によるモダンなダッシュボード
- 🔧 ノード管理 — 起動 / 停止 / 再起動 / フルリセットをワンクリック
- 🌐 ネットワーク参加 — Seed ファイルのインポートで簡単にカスタムネットワークへ参加
- 📊 リアルタイム監視 — ブロック高・ファイナリティ高・ピア数・ハーベスト状態を表示
- 📜 ターミナルログ — Docker コンテナログを WebSocket でリアルタイム表示
- 🔑 アドレス管理 — ノードのアドレス・公開鍵をワンクリックでコピー
- 💾 バックアップ / リストア — 設定ファイルの zip ダウンロード・アップロード
- 🌍 多言語対応 — 日本語 / English 切り替え
- 🌙 ダーク / ライトテーマ — 好みに応じて切り替え
最新 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 不要)
git clone https://github.com/bootarou/blockchain-network-launcher.git
cd blockchain-network-launcherdocker compose build
⚠️ Docker Compose v2.34+ (Docker Desktop 4.45+) では Bake がデフォルト有効になり、ビルドが失敗する場合があります。その場合:PowerShell:
$env:COMPOSE_BAKE="false"; docker compose buildLinux / macOS:
COMPOSE_BAKE=false docker compose build
docker compose up -dhttp://localhost:5173
- Configuration タブで Assembly =
dual、Preset =bootstrapを選択 - ホスト IP、フレンドリーネーム等を設定
- Save → Start でネメシスブロックが生成されノードが起動
- Join Network タブでソースノードの REST API URL を入力
- Import Seed File でネットワーク管理者から受け取った Seed ファイルをインポート
- Configuration タブで設定を確認 → Save → Start
- Share Network タブで Seed ファイルをダウンロード
- 参加者に 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 # ユーザーマニュアル
- React 19 + TypeScript
- Vite — 高速ビルド & HMR
- Tailwind CSS 4 — ユーティリティファーストCSS
- Lucide React — アイコン
- WebSocket — リアルタイムログ・ステータス更新
- 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
