V0.36のマニュアルをもとに、ウォレットV0.51向けに改訂しました。用語を更新しています:チェーン上でgame/gamesがapp/appsに改称されたため、エンドポイントは/api/v1/apps、キーはapp_typeとなっています。
バージョンV0.36 · 2026年7月
本マニュアルでは、ZooBCウォレットのすべての画面、タブ、フィールド、トランザクションタイプを解説します。ウォレットはブラウザ内で完結して動作する単一のHTMLファイルです。鍵がデバイスの外に出ることはなく、すべてのトランザクションはローカルで構築・署名され、完成した署名済みのバイト列だけがネットワークに送信されます。
目次
- 基本概念
- はじめに
- メイン画面
- ホーム:ダッシュボード、ToDo、進行中、アクティビティ
- ウォレット:送金、受取、入金、出金、予約、マルチシグ、ポリシー
- 資産:トークン、ファイル、取引所、マーケットプレイス
- ソーシャル:連絡先、オンライン、チャット、通話
- ビジネス:請求書、フォーム、公証
- アプリ:アーケード
- 高度な機能:鍵とシード、ペーパーウォレット、送信
- システム:設定、ノード、ネットワーク、ゲートウェイ、リレー、ガバナンス
- トランザクションリファレンス
- トラブルシューティング
- 用語集
1. 基本概念
1.1 コインとその単位
ネイティブコインはZBCです。オンチェーンでは、すべての金額がアトミック単位で保存されます:1 ZBC = 100,000,000アトミック(10⁸)。ウォレットは常に人間が読みやすい金額で表示し、入出力の境界で変換します。発行されたトークンはそれぞれ独自の小数桁数(0〜8)を持ち、同様に基本単位で保存されます。
1.2 アカウントとアドレス形式
1つのウォレットで、さまざまな鍵方式のアカウントを保持できます。すべてのアカウントは、型付きアカウント(4バイトの型プレフィックス + 鍵データ)としてオンチェーンに保存されます。対応形式:
| 形式 | タイプ | 鍵方式 | アドレスの例 |
|---|---|---|---|
| ZooBC | 0 | ed25519 | ZBC_XXXX_… (base32 + チェックサム) |
| Ethereum / BNB | 4 | secp256k1 + keccak | 0x… (同じバイト列、異なるラベル) |
| Bitcoin レガシー(P2PKH) | 5 | secp256k1 | 1… |
| Bitcoin P2SH | 6 | (受取専用) | 3… |
| Bitcoin SegWit(P2WPKH) | 7 | secp256k1 | bc1q… |
| Bitcoin P2WSH | 8 | (受取専用) | bc1q… (長い形式) |
| Bitcoin Taproot | 9 | BIP-340 schnorr | bc1p… |
| データセットのデポジット | 10 | (オブジェクトの利用料アカウント) | ZBS_… |
| Solana | 11 | ed25519 | base58 公開鍵 |
| Polkadot | 12 | sr25519 (Schnorrkel) | SS58 |
| Cardano | 13 | ed25519 | addr1… |
| Ripple | 14 | secp256k1 | r… |
| Tron | 15 | secp256k1 + keccak | T… |
| Tezos | 16 | ed25519 | tz1… |
どの形式でもZooBCチェーン上で送受信できます。たとえばBitcoin形式のアカウントは、Bitcoinの鍵でZooBCのトランザクションに署名します。アドレスは元のチェーンとまったく同じ方法で導出されるため、そのチェーンからブリッジ経由で入金すると、対応するミラーアカウントに自動的に反映されます(入金を参照).
導出パス(BIP-39フレーズから):ZooBCはm/44'/883'/account'(SLIP-0010 ed25519)、ETH/BNBはBIP-44のcoin 60、BTCはレガシー/SegWit/TaprootにそれぞれBIP-44/84/86、Solanaはm/44'/501'/account'、Cardanoはcoin 1815、Tezosはcoin 1729。Polkadotはsubstrateのmini-secret導出を使います。
1.3 トランザクション、手数料、エスクロー
チェーン上のすべての操作は、タイプ番号、ZBC建ての手数料、任意のメッセージ、任意のエスクローラッパー(承認者 + 期限 + コミッション + 指示)を持つ、署名済みのトランザクションです。デフォルトのネットワーク手数料は0.05 ZBC(基本0.025 + データを含むトランザクション向けの余裕分)で、ウォレットが自動入力し、大きなメッセージの場合は自動的に引き上げます。タイプの全一覧は第12章に掲載しています.
1.4 ゲートウェイ、ノード、リレー
- ノードはチェーンを検証します。
- ゲートウェイはウォレットが通信するWebサーバーです。ウォレットやエクスプローラーを配信し、1つ以上のノードの窓口となります。
- リレーはゲートウェイが運用する通話/プレゼンスサーバーで、通話のシグナリングとオンライン状態を中継します。
- アーカイブノードは、さらに全履歴とエクスプローラーAPIを提供します。
設定したゲートウェイが停止すると、ウォレットは自動的にフェイルオーバーします:現在のノード → 組み込みのフォールバック → 追加したノード(設定 → ノード) → オンチェーンのレジストリから取得したゲートウェイ。
1.5 ストレージ利用料と存続オブジェクト
オンチェーンに書き込まれたデータ(データセット、保存ファイル、トークン)にはストレージ利用料がかかります。各オブジェクトには、それを作成したトランザクションから導出された、入金可能なZBS_デポジットアドレスがあり、デポジットが尽きるとオブジェクトは削除される場合があります。どのオブジェクトも存続期間を延長できます(ファイル → オブジェクトを参照).
1.6 セキュリティモデル
- リカバリーフレーズや鍵がページの外に出ることはありません。署名はローカルで行われます。
- デバイス上のデータは、6桁のPINでロックされた暗号化ボールトに保存されます(5回間違えるとボールトは消去されますが、フレーズで復元できます)。
- パスキーによるロック解除にも対応(Face ID / Touch ID / Windows Hello、任意)。
- 閲覧専用アカウントはすべてを閲覧できますが、署名はできません。鍵が必要なページは非表示になります。
- エアギャップモードではオフラインで署名し、ブロードキャストする代わりにJSON/QRとして書き出します。
2. はじめに
2.1 開く前に、ファイルが本物か確認する
このウォレットは、ブラウザで開いてリカバリーフレーズを入力する単一のファイルです。偽の
コピーは見た目がまったく同じで、普通に動作します。あなたのフレーズをどこかへ
送信する、その瞬間までは。画面上の何もあなたに警告してくれません。その時点では、警告を出しているその画面こそが偽物だからです。
だからこそ、開く前にファイルを確認してください。所要時間は10秒ほどです。
簡単な方法。ダウンロード元のゲートウェイで/verifyを開き、ファイルをボックスにドラッグします。
確認はあなた自身のブラウザ内で行われ、ファイルがどこかにアップロードされることはありません。
ターミナルだけで済む方法。ハッシュとはファイルのフィンガープリントです。1バイトでも変えると
ハッシュはまったく別の値になり、同じフィンガープリントを持つ別のファイルを逆算して作ることは
誰にもできません。
sha256sum "ZooBC Wallet.html"
表示された値を、そのファイル用に公開されているハッシュと1文字ずつ照合してください。
次に、そのフィンガープリントを誰が示したのかを確かめます。ここが肝心な部分で、/verifyページは
この点を明示しています:
| 表示 | 意味 |
|---|---|
| オンチェーン | ハッシュはリリース権限者によってブロックに署名・記録されています。リリース権限者とは、チェーンのジェネシスで固定された1つの鍵であり、ファイルハッシュを登録できる唯一の存在です。すべてのノードがその記録を保持しています。Webサイトがそれを変更したり、偽造したり、削除したりすることはできません。 |
| このゲートウェイの申告 | ハッシュは、いま見ているWebサイトから提供されたものです。破損したダウンロードや雑な偽物は見抜けます。しかし、そのWebサイト自体が攻撃者である場合には役に立ちません。その場合、ファイルもフィンガープリントもどちらも偽物で、完全に一致してしまうからです。 |
| オンチェーンで取り消し済み | 権限者はこのファイルを公開した後、取り下げました。通常は、侵害されていた、あるいは欠陥があったと判明したためです。これは未登録のファイルより良い状態ではなく、むしろ悪い状態です。チェーンがこのファイルについて具体的な警告を出しているのですから。ファイルを削除し、最新のファイルを入手してください。いまだにこのファイルを提供しているWebサイトは、安心材料ではなく、さらに疑うべき理由になります。 |
お金が関わることでは、必ずオンチェーンでの一致を確認してください。ゲートウェイが自分の
ダウンロードを保証しても、それは証明にはなりません。
どのWebサイトもまったく信頼せずに確認する方法。ここまでの方法はどれも、誰かが
配信するページ上で動いています。そうではない確認をしたい場合は、ノードに直接問い合わせてください。どのノードでも構いません。自分で
運用しているノードでもかまいません。コマンドは2つです:
sha256sum "ZooBC Wallet.html"
curl -s https://zoobc.network/api/v1/release/list
ファイルのハッシュがそのリストにあれば、それはリリース権限者が公開したファイルです。リストに
なければ、どのWebサイトがどれほど安全だと言おうと、そのファイルにリカバリーフレーズを入力してはいけません。
そもそもどの鍵に公開が許可されているのかを問い合わせることもできます:
curl -s https://zoobc.network/api/v1/release/authority
zoobc.networkはMainNetではなく、ZooBCの公開TestNetゲートウェイです。そのゲートウェイを信頼せずに検証するには、ホストを自分のノードに置き換えてください。
どのノードも同じ答えを返します。チェーンに書き込まれているからです。運用者の異なる
2つのノードに問い合わせて比較してください。それこそがこの設計の要点であり、必要なのは
コマンド1つ分の手間だけです。
/verifyがリリース権限者の変更が保留中だと警告した場合は、いったん手を止め、
そのサイトからダウンロードしたものを信頼する前に、その理由を確かめてください。権限者は、そのページ上の
あらゆる主張を裏付ける唯一の鍵であり、その移転を提案することは、まさに鍵を盗んだばかりの者がやることです。
計画的なローテーションである可能性も十分にありますが、問題の
Webサイトを経由しない経路で確認してください。侵害されたサイトは、自らの引き継ぎについて喜んであなたを安心させようとするからです。
ZooBCがほかのウォレットや他言語へと広がるにつれて、これはさらに重要になります。どのファイルが本物かについて、誰かの言葉を鵜呑みにする必要は決してありません。そのためにチェーンが存在するのです。
2.2 初回起動とリスクに関する通知
初回起動時にはソフトウェアインターフェースに関する通知およびユーザーのリスク確認が表示されます。これに同意する(または終了する)必要があります。利用規約の全文は、フッターからいつでも確認できます。
2.3 ウェルカム画面
オンボーディングカードには次の項目があります:
- リカバリーフレーズまたは秘密鍵:12/15/18/21/24語のBIP-39フレーズ、または64桁の16進数の秘密鍵を貼り付けます。目のボタンで表示/非表示を切り替えます。
- ウォレット形式:ZooBC(デフォルト)、Ethereum、BNB、Bitcoin、Solana、Polkadot、Cardano、Ripple、Tron、Tezos。Bitcoinでは、追加のセレクターでSegWit(
bc1q…)、レガシー(1…)、Taproot(bc1p…)を選びます。同じフレーズでも、形式ごとに異なるアドレスになります。 - アカウント番号:導出インデックスを選ぶステッパー(1つのフレーズから複数のアカウントを作成できます)。
- ウォレットのロックを解除:入力した認証情報でウォレットを開きます。
- 新しいウォレットを作成:新しいフレーズを生成します(後述)。
- バックアップファイルから復元:暗号化されたボールトのバックアップ(
.json)を読み込みます。保存時のPINの入力を求められます。 - ノード設定リンク:ログイン前にゲートウェイのURLを設定します。
2.4 新しいウォレットの作成
- フレーズの長さ(12〜24語)を選びます。単語は番号付きのピルとして表示され、フレーズをコピー、番号付きリストをコピー、新しいフレーズのボタンがあります。
- フレーズが唯一のバックアップであることを知らせる警告が表示されます。「リカバリーフレーズを書き留めました」にチェックを入れます.
- 確認:ランダムに選ばれたいくつかの位置について、正しい単語を選びます。
- PINを設定:6桁のPINを決めて確認入力します。PINはこのデバイス上のボールトを暗号化するため、ページを再読み込みしてもウォレットは保持されます。
2.5 再訪時のロック解除
PINを入力します(設定済みならパスキーボタンも使えます)。下部のリンク:バックアップファイルから復元、このデバイスのウォレットをリセット(ローカルデータを消去します。復元にはフレーズを使います)。
2.6 閲覧専用
アドレスを監視を使うと、鍵なしで任意のアドレスの残高とアクティビティを表示できます。ヒーローエリアには閲覧専用バッジが表示され、署名を伴うページはすべて非表示になります。
3. メイン画面
3.1 トップバー
- ロゴ + バージョンバッジ(例:V0.36)。
- 通知ベル:クライアント側で生成されるアラート(チャットの受信、署名リクエスト、チェーンのアラート)。赤いカウンターバッジが付き、各項目から該当ページに直接移動できます(例:請求書の通知を開くと支払いページが表示されます)。
- テーマ:ダーク/ライトを切り替えます。
- ロック:ウォレットを即座にロックします(再度開くにはPINが必要)。
- 設定:設定ページを開きます。
- 通話リレーインジケーター:必要に応じてリレーの残りデータ量を表示します。
- ネットワーク状態ピル:ドット + ラベル。
block N(接続中。確定済みのブロック高、つまり最新ブロック − 3を表示)、synchronizing…(30秒未満の一時的な障害)、chain unreachable(継続的な障害)。クリックするとブロックエクスプローラーが開きます (explorer.<gateway-domain>).
3.2 残高ヒーロー(左カラム)
- 残高:範囲切り替えスイッチ付き(このウォレット / 全ウォレットの合計)。
- コインアイコンをタップすると更新されます。シェブロンを押すと、トークン残高を一覧表示するトークンパネルが開きます。
- 利用可能額:残高からロック中の金額(ステーク、エスクロー、保留中のオファー)を差し引いた額。
- アドレスチップ:アカウントのアバター(タップでアカウントを切り替え)、編集可能なウォレット名、アドレス、コピーボタン。
- バッジ:閲覧専用、マルチシグ.
- 送金と受取のクイックボタン。
3.3 左メニュー
折りたたみ可能なグループ(開閉状態は記憶されます。設定 → メニューからセクションごと非表示にできます):
| グループ | 項目 |
|---|---|
| ホーム | ダッシュボード · ToDo · 進行中 · アクティビティ |
| ウォレット | 送金 · 受取 · 入金 · 出金 · 予約 · マルチシグ · ポリシー |
| 資産 | トークン · ファイル · 取引所 · マーケットプレイス |
| ソーシャル | 連絡先 · オンライン · チャット · 通話 |
| ビジネス | 請求書 · フォーム · 公証 |
| アプリ | ロビー · シングルプレイ · 1対1 · 3人以上 |
| 高度な機能 | 鍵とシード · ペーパーウォレット · 送信 |
| システム | 設定 · ノード · ネットワーク · ゲートウェイ · リレー · ガバナンス |
狭い画面では、メニューは上部のナビゲーションバー / ハンバーガーメニューにまとめられます。
3.4 フッター
法的情報と案内ページ:利用規約、プライバシーポリシー、ヘルプとマニュアル、プロジェクトに参加.
4. ホーム
4.1 ダッシュボード(概要)
ロック解除後に最初に表示されるページです:
- あなたのコイン:すべてのウォレットを合算したコインごとの残高。
- あなたのウォレット:アカウントごとのカード(名前、アドレス、小数部を控えめに表示したリアルタイム残高、チェーンバッジ、マルチシグ/閲覧専用バッジ)。ステータスボックスには対応が必要な項目が表示されます。
- あなたのトークン:保有トークンの一覧。トークンページへの探索ショートカット付き。
- あなたのノード:あなたのウォレットが所有する登録済みノード(10分ごとに自動更新)。
4.2 ToDo
「承認、精算、返信など、あなたの対応を待っているものすべて」。次の項目をまとめた1つのリストです:
- あなたが承認者となっているエスクロー(その場で承認 / 拒否が可能)、
- あなたの署名を待っているマルチシグトランザクション,
- あなた宛ての支払い/エスクローのリクエスト、
- あなたの支払いを待っている請求書、
- アプリの手番と期限が迫っている項目。
メニュー項目のカウンターバッジに件数が表示されます。更新ですべてを再取得します。ページを開いている間は60秒ごとに自動更新されます。
4.3 進行中(進行中のトランザクション)
現在進行中のトランザクションを4つのタブで表示します:
- すべて:タブごとの件数付きの統合リスト。
- エスクローの承認 / 拒否:指名された承認者として、エスクロートランザクションのIDを入力(または選択)し、承認してリリース(資金は受取人へ)または拒否して返却(資金は送信者へ戻る)を選びます。ApprovalEscrow(タイプ4)をブロードキャストします。
- リキッドペイメントの停止:自分が開始したリキッドペイメントを停止します。まだベスティングされていない残額はあなたに戻ります(LiquidPaymentStop、タイプ262)。
- ベスティングの停止:自分が作成した実行中のスケジュールが対象です。取り消すと未実行の残額が戻ります(すでに渡された分は受取人の手元に残ります)(CancelSchedule、タイプ30)。
4.4 アクティビティ
あなたのトランザクション履歴です。
- アカウントフィルター:1つのウォレット、またはすべて。
- コインフィルター:すべてのコイン、または特定のコイン。
- ソース選択:最新のTX(接続中のノードが保持する直近の範囲)またはすべてのTX(アーカイブノードの全履歴)。
- カテゴリチップ:すべて · ウォレット · トレード · アプリ · ツール · コインベース · 手数料。カテゴリごとの合計付き。
- ウォレットがブロードキャストしたトランザクションは、ローカルのジャーナルにも(ボディのバイト列とともに)保存されます。そのため即座に表示され、ノードのデータ削除後も残り、タイプごとの詳細をすべて表示できます。行を展開すると、金額、相手方(わかる場合は連絡先名を表示)、手数料、エスクローの詳細、メッセージ(あなた宛てなら復号済み)、ハッシュのコピーボタンが表示されます。
5. ウォレット
5.1 送金
メインの送金ページです。フィールドは上から順に次のとおりです:
- 受取人:対応する任意のアドレス形式(
ZBC_…、0x…、1…、bc1…、Solana、SS58、addr1…、r…、T…、tz1…)、または連絡先(選択ボタン)。フィールドの下に、有効性インジケーターと該当する連絡先名が表示されます。 - 金額 + 最大(利用可能額から手数料を引いた額を入力)。
- ネットワーク手数料(ZBC):ネットワークから取得した値が自動入力されます。メッセージのサイズに応じて増え、自分で引き上げることもできます。
- メッセージ(任意):オンチェーンに保存されます。ZBC → ZBCの送金ではメッセージを暗号化にチェックを入れられます(エンドツーエンド暗号化で、読めるのは受取人だけです)。手数料の目安はバイトサイズに応じて更新されます。
- プライベートメモ(任意):このデバイスにのみ保存され、オンチェーンには記録されません。
- 存続期間(状況に応じて表示):
ZBS_オブジェクトアドレスへ送金する際に表示され、利用料の補充であることを示します。 - リキッドペイメントチェックボックス:金額が、指定した期間(分)をかけて受取人に少しずつベスティングされます。受取人はベスティングの進行に応じて比例配分で受け取れます。進行中から早期に停止することもでき、その場合はまだベスティングされていない分が戻ります。通常の送金ではなくLiquidPayment(タイプ6)を送信します。
- エスクローチェックボックス:承認者が承認するまで資金を保留します:
- 承認者のアドレス(または連絡先)、
- 保留期限:プリセットのチップ(1日 … 6か月)または正確な日時ピッカー。ブロック高によるタイムアウトとして表示され、ブロックの時刻は推定値で実際の時刻とはずれが生じるという注記付き、
- 承認者へのコミッション(ZBC),
- 指示(自由記述。例:「納品時にリリース」)。
- リンク:逆に支払いを受ける側ですか? → 支払いをリクエスト(受取側のエスクロー。予約ページにあります)。
- このトークンでネットワーク手数料を支払う(状況に応じて表示):手数料支払いに対応したトークンで使えます。手数料トークンをバーンし、同額分のZBCの裏付け資産を放出します(エスクロー使用時は不可)。
- トランザクションの作成のみ:署名はしますがブロードキャストはしません。後で、または別のデバイスから送信するための署名済みJSON + QRを生成します(送信を参照).
- プレビュー:金額、コミッション、手数料、合計。
- 確認して送信:確認モーダルの後にブロードキャストします。フォームをリセットですべてクリアされます。送信後はトランザクションIDが表示され(別のページに移動しても保持されます)、コピーとエクスプローラーへのリンクが付きます。
ブロードキャストされるもの:SendZBC(タイプ1)。ヒーローエリアでトークンを選択している場合はTransferToken(11)、リキッドのボックスにチェックがある場合はLiquidPayment(6)です。エスクローは、いずれの場合もエンベロープに含まれます。
5.2 受取
あなたのアドレスを大きなQRコードとテキストで表示し、アドレスをコピーボタンを備えています。
5.3 入金
ZooBCへのブリッジ:BTC、ETH、USDC、USDTをラッパーコイン(例:BTC → ZBTC)としてチェーンに取り込みます。承認後に1:1でミントされます。タブは2つです:
- 開始:コインを選びます(未対応のコインには近日対応と表示されます)。ウォレットには次の情報が表示されます:
- 送金元チェーンのカストディ入金アドレス(QR + コピー)、
- 必要な承認数,
- 入金先となるアカウント:入金は、送金元アドレスに対応するZooBCアカウント(同じ鍵)に反映されます。カストディアドレスは共有されているため、送金元アドレスが唯一の所有証明になります。送金には、このウォレットでも鍵を管理しているウォレットを使ってください。
- 必要な承認数に達すると、ZooBCノードの2/3の特別多数が証明し、ラッパーコインがミントされます(数分から最大約1時間)。
- 追跡:3つのサブタブがあります。処理中(20秒ごとに自動更新。状態は検出 → 承認待ち → 証明中 → ミント完了で、チェーンごとの完了予定時刻付き)、別のアカウントを監視(送金元チェーンまたはZBC_の任意のアドレス)、履歴(完了済みおよび破棄済み)。
5.4 引き出し
ZooBCから外部へブリッジします(ラップされたコインを元のチェーンへ戻します)。この画面はモックアップであり、アウトバウンドブリッジはまだ機能していません。予定しているコイン一覧と処理の流れを示しています。
5.5 スケジュール
タイマーで動く価値の移転です。タブは5つあります:
- ベスティング:事前ロック型のスケジュールです。作成時に総額全体がロックされ、受取人へ分割で解放されます。入力項目:受取人、コイン/トークン、1回あたりの金額、間隔、分割回数(1~520)、任意のクリフ、取り消し可能/不可、任意の終了時刻。funding_mode 0でScheduledTransfer(29)をブロードキャストします。
- 定期払い:実行時引き落とし型です。何もロックされず、各回の支払いは実行時に残高から引き落とされます(残高不足の場合は安全に失敗します)。入力項目は同じで、funding_mode 1です。
- 指定ブロック高:1回限りのトリガーです。今すぐ金額をロックし、チェーンが指定のブロック高に達した時点で受益者に支払います。ブロック高の入力欄には日時カレンダーの補助機能があります(推定ブロック高に変換されますが、実際のタイミングはブロック時間により前後します)。CreateTrigger(15)をブロードキャストします。キャンセル時の返金:CancelTrigger (16).
- 請求:受取人側のエスクローです。あなたが支払いを請求し、支払人、金額(ZBCまたはトークン)、承認者、期限、コミッション、指示を設定します。支払人はTo-doでそれを受け取り、資金を入れます。ブロードキャストされるトランザクション:EscrowRequest (260).
- 一覧:作成した、または受け取るすべてのスケジュールをグループ表示します。各行には種類(ベスティング/定期払い/単発)、進捗(総額のうち支払済み分)、次回実行、役割バッジ、操作が表示されます。操作:取り消し(取り消し可能な場合)、残りの分割分を新しい受取人へ付け替え(ReassignSchedule、31、現在の受取人のみ)。
5.6 マルチシグ
支出のたびに複数の署名を必要とするアカウントです。タブは2つあります:
- マルチシグアカウントの作成:参加者アドレス(1行に1つ、形式は問いません。連絡先から追加も可能)、最小署名数、ノンスを入力します。アドレスを計算で決定論的なZBC_アドレスが表示されます。続いて:
- オンチェーンに登録:参加者セットを記録します(MultisigRegistration、タイプ5)。
- マイウォレットに追加:アカウントとして選択できるようにし(マルチシグバッジ付き)、受け取りや支出の提案に使えます。
- マルチシグトランザクションに署名:あなた宛ての保留中の項目が上部に表示されます。前の署名者から受け取ったトランザクション(hex / base64 / JSON)を貼り付け、自分の鍵で署名し、出力を次の署名者に渡します。署名だけではブロードキャストされません。必要な署名が集まると、ブロードキャスト(Submitページ)でペイロードが入力済みの状態のSubmitが開きます。
5.7 ポリシー:「取引する対象」
アカウント単位のオンチェーンカテゴリーのオプトアウトで、すべてのノードが強制します。カテゴリーをオフにすると双方向に作用し、送信も受信もできなくなります。試みた相手は拒否されます(資金は移動せず、相手はネットワーク手数料のみを支払います)。トグルは9つあります:
| ビット | カテゴリ | 対象 |
|---|---|---|
| 0 | 決済 | ZBCの送金、リキッド / スケジュール / トリガー送金 |
| 1 | アプリ | 作成、参加、手番、投了、タイムアウト、精算 |
| 2 | トークン | カラードコインの発行、送付、ミント、バーン、ファイナンス |
| 3 | 取引所 | スワップオファーとオーダーブック型マーケット |
| 4 | データとストレージ | データセット、プリペイドストレージ、ファイル(DFS)、ストレージ証明 |
| 5 | エスクローとマルチシグ | エスクローの承認 / 請求、マルチシグネチャ |
| 6 | ノードとインフラ | ノード登録、ゲートウェイ / アーカイブ / リレーのレジストリ |
| 7 | ブリッジ | クロスチェーンの証明 / ミント |
| 8 | ガバナンス | 手数料投票、署名付きリリースのガバナンス |
概要チップには「すべてと取引中」または「拒否中:…」と表示されます。支払いまたはノードとインフラをオフにする際は追加の確認が求められます(日常的な利用ができなくなるおそれがあるため)。ポリシーを保存でSetTransactPolicy(タイプ50、mask u16 LE、手数料約0.05 ZBC)がブロードキャストされ、ブロックが確定すると適用されます。
6. 資産
6.1 トークン
チェーン上のすべてのコインのレジストリです(ジェネシス発行分+ユーザーが発行した「カラードコイン」)。モードは2つあります:
- 閲覧:登録済みの全トークンを検索できる一覧で、アイコン、シンボル、名前、供給量、裏付け、あなたの残高を表示します。トークンにローカルのニックネームを付けることもできます。裏付けのあるトークンはZBC建ての価値が一定に保たれます。
- 発行と管理(マルチシグハブ → トークンからもアクセス可能):
- トークンの発行:シンボル(文字種と予約シンボルのブロックリストで検証)、名前、総供給量、小数桁数(0~8)、裏付け(ロックするZBC)(裏付けなしのトークンは0)、フラグ償還可能(バーンすると裏付けの持ち分を回収)とミント可能(発行者が追加発行可能)、任意のSVGロゴ+説明(トランザクションのメッセージに格納、6,144バイト以下)。ブロードキャストされるトランザクション:IssueToken (10).
- トークンの送付:トークン、金額、受取人を指定します(TransferToken、11。エスクローとトークンでの手数料支払いに対応)。
- ミントまたはバーン:ミント(発行者のみ、ミント可能なトークン。供給量を増やすと同時に裏付けを追加ロックするため、単位価値は一定に保たれます。タイプ12)、バーン / 償還(保有トークンを破棄します。償還可能なトークンでは裏付けの持ち分が返還されます。タイプ13)、ファイナンス(トークンが削除されないよう存続レントを補充します。タイプ14)。
6.2 ファイル
分散型ファイルストレージ(DFS)と、データのライフサイクルに関するすべてのツールです。タブは6つあります:
- マイファイル:保存したファイルの名前、サイズ、ルートハッシュ、レプリカの状態、レントの状況を表示します。ダウンロードや共有リンクのコピーができます。
- ファイルのアップロード:ノードがファイルをコンテンツアドレス方式のピースに分割し、レプリカセットへ配布します。その後ウォレットがStoreFile(タイプ40)でオンチェーンにアンカーします:ファイルルート(32 B)、サイズ、ピースサイズ、レント預託金(最低0.01 ZBC)、ピース一覧。ファイル一覧が空の場合は、このタブが最初に開きます。
- ルートでダウンロード:64桁の16進ルート(またはZTX_ ID)を指定して、ストレージネットワークから任意のファイルを取得します。
- データセット:あなたのオンチェーン上の生のエントリーです。チャットメッセージ、投票、請求書、フォーム、プロフィール項目はすべて、アカウント上のデータセットエントリーです:
- マイエントリー:ワンタップで削除できる一覧。
- エントリーの追加:アカウント(空欄なら自分)、プロパティ、値(最大4,096バイト。バイト数をリアルタイム表示)。SetupAccountDataset(タイプ3)をブロードキャストします。
- エントリーを手動で削除:受取人+プロパティ(チャットに表示される
#…サフィックスを含む)+値が完全に一致する必要があります。ブロードキャストされるトランザクション:RemoveAccountDataset (259). - ストレージへの入金:アカウントのデータセットレントを前払いします(FundStorage、タイプ9)。データセット単位での指定は次のチェーンで対応予定です。
- オブジェクト:存続レントによるオブジェクト管理:
- レント残高と有効期限の見込みを含むオブジェクト一覧、
- 所有権の移転:2段階で行います。あなたが提示し(TransferDataset、42)、受取人が受諾します(AcceptDataset, 44),
- アクセスポリシー:アカウントの許可/拒否リスト(SetDatasetPolicy, 43),
- 削除 (DeleteDataset, 45),
- 作成トランザクションのハッシュで任意のオブジェクトに入金:トランザクションIDからオブジェクトのZBS_預託先を調べ、通常の(エスクロー可能な)送金で補充します。
6.3 取引所
オンチェーンのオーダーブック型取引所(CLOB)です。ヘッダーのバッジはCONNECTING… / LIVE / OFFLINEを正直に表示し、エンドポイントが停止しているときに何かを模擬表示することはありません。
- モード:シンプル(フォーム中心、オーダーブック/約定履歴なし)とプロ(板の厚みチャート、オーダーブック、直近の約定、注文、トレーディング端末風レイアウト)。
- ペア選択:登録済みの全コインを並べたFrom / Intoの行と反転ボタンがあります。既存のマーケットはピル形式で表示されます(あなたの未約定注文数付き)。
- 統計バー:直近価格、24時間の変動率/高値/安値/出来高、スパークライン。
- 板の厚みとオーダーブック:チェーンからリアルタイムに表示します。板が空の場合は理由を説明します:「まだ注文がありません。最初の注文を出しましょう」 / ノードがオフライン / 読み取りAPIがない。
- 注文フォーム:買い/売り、注文タイプ成行 / 指値 / 逆指値、数量(現在の残高から+最大)、指値価格、合計、推定手数料(0.1%)。板が空のときの成行注文は、理由を表示したうえでブロックされます(約定できる価格がないため)。注文するとPlaceOrder(タイプ22)がブロードキャストされます。そのペアのマーケットがまだ存在しない場合はマーケットを作成が提示されます(CreateMarket、21、ZBCのレント預託金が必要)。
- マイ注文:デバイスごとに保存されます。保留中はブロック待ちと表示され、その後は未約定/約定済み/取消済みになります。キャンセルでCancelOrder(23、未約定の残りを返金)がブロードキャストされます。約定済みを消去で一覧を整理できます。
6.4 マーケットプレイス
ピアツーピアのスワップオファー掲示板(OTC)です:「渡すものと欲しいものを掲示し、誰でも受諾できる」。完全にアトミックで、ノードは両側を1つのブロック内で交換するか、まったく交換しないかのどちらかです。LIVE時のみ利用でき、オフライン時はOFFLINEと正直に表示します。
- オファーの閲覧:渡す資産 / 欲しい資産で絞り込めます。各オファーカードにはメイカー(アバター+連絡先名)、渡す量 → 欲しい量、想定価格、有効期限、ステータス(オープン / 約定済み / キャンセル済み / 期限切れ)が表示されます。受諾でAcceptSwapOffer(19)がブロードキャストされ、テイカーは欲しい側を支払い、預かり中の渡す側を受け取ります。
- オファーの作成:渡す資産+数量(オファーが有効な間は残高からロックされます)、欲しい資産+数量、任意の有効期限(0 = キャンセルまで有効)、任意の指定取引相手(そのアドレスのみ受諾可能)。確認カードを表示したあと、ブロードキャストされるトランザクション:CreateSwapOffer (18).
- マイオファー:有効なオファーとキャンセル(CancelSwapOffer、20、預かり分を返金)、さらに売却済み / 受諾済み / キャンセル済み / 期限切れのオファーのデバイス内履歴。
7. ソーシャル
7.1 連絡先
あなたのアドレス帳です。連絡先を追加:名前、任意の写真とメモ、複数チェーンにまたがる任意の数のアドレス(それぞれにチェーンバッジが付きます)。ウォレット全体(送金、アクティビティ、チャット、マーケットプレイス…)で生のアドレスの代わりに連絡先名が表示され、生のアドレスはいつでもワンタップでコピーできます。連絡先は暗号化された保管庫に保存され、バックアップにも含まれます。
7.2 オンライン
連絡先のリアルタイムの在席状況です。各行にステータス(オンライン / 離席中 / オフライン)が表示され、チャットや通話をすぐに始められます。在席情報はプッシュ型です:ウォレットはリレー経由で約60秒ごとにビーコンを送信し、一覧はタイマーで再描画されるため、画面を移動しなくても2つのウォレットが互いを確認できます。あなたがどう表示されるかは、通話 → 表示設定で管理します。
7.3 チャット
オンチェーンのメッセージ機能です。2つの層があります:
- 会話ビュー:WhatsApp風の画面です。未読バッジ付きの会話一覧、アバター(連絡先の写真またはイニシャル)、検索、ローカルでの名前変更があります。スレッドビューには吹き出し、タイムスタンプ、エンドツーエンド暗号化されたメッセージ(ZBC ↔ ZBC)の鍵アイコンが表示されます。自分のいずれかのウォレットからの受信メッセージは「あなた」として認識されます。
- 直接送信フォーム:宛先(アドレスまたは連絡先)、トピック(任意。例:手番用のアプリID。デフォルトは
chat)、メッセージ。各メッセージは受取人のアカウント上のSetupAccountDatasetトランザクション(タイプ3)であり、通常のネットワーク手数料がかかります。
メッセージはファイル → データセットから削除できます(削除にはエントリーとの完全一致が必要です)。
7.4 通話
音声、ビデオ、画面共有をピアツーピアで行います。直接通話は無料です。ファイアウォールが直接接続を遮断する場合は、チャージしたクレジットを使ってリレーゲートウェイが通信を中継します。タブは5つあります:
- オンラインの連絡先:今つながる相手(オンラインのみ / すべてで絞り込み)。タップで音声/ビデオ通話を開始します。
- リレー:あなたのリレークレジットを、残りのデータ量(MB)と、そこから算出した目安(音声 ≈ 0.36 MB/分、ビデオ ≈ 15 MB/分。クレジットは時間ではなく純粋なデータ量です)で表示します。状態付きのリレーゲートウェイ一覧とゲートウェイを追加があります。チャージはリレー運用者へのZBC支払いで、オンチェーンで確定します(保留中のチャージは反映されるまで確認を続けます)。
- 最近の通話:方向、通話時間、経路(直接 / 中継)、使用データ量、ゲートウェイを記録したログ。
- アカウントの有効化:通話に使うアカウントを選択します(リレーへの署名付き登録)。
- 表示設定:あなたの見え方を全員 / すべての連絡先 / 選択した連絡先 / 誰にも表示しないから選びます(選択した連絡先では連絡先ごとに選択可能)。「誰にも表示しない」でも通話は発信できます。
通話中は、ミュート、カメラの切り替え、画面共有、リアルタイムのデータメーターが使えます。中継通話中は、トップバーのリレーインジケーターに残りのデータ量が表示されます。
8. ビジネス
8.1 請求書
ZBCまたは登録済みの任意のコイン/トークン(ZUSD、ZBTC…)建ての支払い可能な請求書を、リンクで送れます。支払いはその通貨での通常の送金で、ステータスはチェーンから自動的に照合されます。
- 請求書の作成:金額+通貨、説明、任意の支払期日を入力します。請求書はあなたのアカウント上にデータセットとして書き込まれ、共有リンクが発行されます(参照: 8.4).
- タブは発行済みと受信済みの2つで、それぞれ支払い待ちと支払済みに分類されます。支払済みの行は決済トランザクションにリンクします。受信した請求書は通知とTo-doにも表示され、支払いページへ直接移動できます。
- 支払いページ:リンクから開きます。発行者、金額、通貨、メモが表示され、ワンタップで正確な送金が作成されます。
8.2 フォーム
フォームを公開してリンクを共有し、あなただけが読める署名・暗号化された回答を、誰が何に署名したかの証明付きで収集できます。項目を定義して公開し(あなたのアカウント上のデータセットになります)、リンクを共有します。回答はあなたの鍵に向けて暗号化され、署名者のアドレスとタイムスタンプ付きで一覧表示されます。
8.3 公証(存在証明)
あらゆるファイルにオンチェーンでタイムスタンプを付与します。文書がデバイスの外に出ることはありません。
- 公証する:ファイルをドロップすると、ローカルでハッシュ化されます(SHA3-256)。画像の場合は小さなサムネイルを任意で添付できます(自分宛てに暗号化する選択肢あり)。PDFには「プレビューなし」と正直に表示されます。ハッシュ(+任意のサムネイル)はデータセットとしてあなたのアカウントに書き込まれ、それ自体のストレージレントで維持されます。
- マイアンカー:ブロック高/時刻付きのアンカー一覧です。保留中のもの(送信済みでまだオンチェーンにないもの)は、確定するまでローカルで追跡されます。
- 検証:ファイルをドロップすると再ハッシュしてアンカーを検索します。デフォルトでは自分のアカウントが対象ですが、任意のZBC_アドレスやリンクを貼り付ければ他人のものも検証できます。
8.4 共有リンク
請求書、フォーム、投票、支払いページへのリンクは、ウォレットの提供方法に応じて変わります。実際のhttps://オリジンから提供されている場合は完全なURLになり、ローカルファイルから実行している場合は#フラグメントリンクになります。受取人は自分のウォレットで…wallet.htmlの後ろにフラグメントを貼り付けます(file://パスが埋め込まれることはありません)。
9. アプリ
アーケード:ステークを賭けて遊ぶ、オンチェーンのターン制アプリです。ロビーは状態を正直に反映し、チェーンに接続できないときは、復旧するまでオーバーレイでプレイをブロックします。
9.1 画面
- ロビー:ネットワークの賞金プール(ZBC+トークン)、進行中の対戦と挑戦状(参加ボタン付き)、統計、アプリライブラリ。
- シングルプレイヤー:ハウスと対戦するソロアプリ(ダイス、コイン投げ、ルーレット、スロット、くじ、クラッシュ…)。
- 1対1:ターン制アプリ(三目並べ、チェス、四目並べ、チェッカー、リバーシ、五目並べ、バトルシップ、ドット・アンド・ボックス…)。特定の相手に挑戦する(アドレス/連絡先を指定すると、招待が相手のウォレットに届きます)か、誰でも参加できるオープン挑戦を掲示します。
- 3人以上:パーティーアプリ(ルード、ピッグ、レース、モノポリー風)。
9.2 対戦の開始
新規対戦フォーム:アプリ、ステーク(金額+コイン。ZBCまたはプール一覧の任意のトークン。0 = フレンドリー戦)、席数、対戦相手(1対1)、対応している場合は高速モード(ステートチャネル)。作成するとCreateApp(24)がブロードキャストされ、あなたのステークがロックされます。参加者は自分のステークを次のトランザクションでロックします:JoinApp (25).
9.3 プレイ
盤面ビューには、ステータスバー(手番、カウントダウン)、盤面、プレイヤー欄、手順履歴が表示されます。手の合法性はクライアント側で確認され、ノードのアプリVMがすべての手を再検証します。
- オンチェーンモード:すべての手がAppMove(26)トランザクションになります。カウントダウンは実測のブロック時間を下限とします。ウォレットの同期がずれた場合は、チェーンからアプリ全体を再構築できます.
- 高速モード(チャネル):手は署名付きのバウチャーとして即座にやり取りされます(確認応答があるまで約10秒ごとに再送)。終了時にどちらかのプレイヤーがSettleApp(39)を送信すると、チェーンが署名付きバウチャーを独自のルールで再生して勝敗を判定し、支払いを行います。
- 投了(27)すると負けとなり、ステークは相手に渡ります。タイムアウト請求(28)は、相手が1手ごとの期限を過ぎても放置した場合に勝利を請求します。
- 途中で離れても安全です。未完了のラウンドはローカルに保存され、同じアプリを開き直すと再接続されます。結果はオンチェーンで確定されます。
10. 高度な機能
10.1 鍵とシード
保管庫内のすべてのIDを管理します:
- シード:名前付きのシードフレーズです。各シードから、フレーズを再入力することなく、対応する任意のチェーンとアカウントインデックスのアカウントを導出できます。表示(PINが必要)、名前変更、削除が可能です。
- 鍵のインポート:任意の形式の64桁16進の秘密鍵を1つ取り込みます。
- アドレスの監視:閲覧専用のエントリーを追加します。
- インポートした鍵と監視中のアドレスの一覧:各行にアドレス、リアルタイムの残高、削除ボタンがあります。
10.2 ペーパーウォレット
印刷できるコールドストレージです。操作項目:ソースはマイウォレット(保有しているアカウント)または新しい空のウォレット(その場で新しいフレーズを生成し、保存はしません)から選択、レイアウトのオプション、印刷。印刷物にはアドレスのQRコード+フレーズ/鍵と、取り扱いに関する強い警告が記載されます。
10.3 Submit(送信)
別の場所で署名されたトランザクション(エアギャップ端末、マルチシグの共同署名者、送金画面の「作成のみ」)をブロードキャストします。署名済みJSONを貼り付けるか、カメラでQRをスキャンします。鍵は不要です。結果のトランザクションID、またはノードのエラーをそのまま表示します。
11. システム
11.1 設定
サブタブに分かれています:
- セキュリティ:6桁のPINを変更します(変更後にダウンロードしたバックアップには新しいPINが必要です)。
- パスキー:プラットフォームのパスキーによるロック解除(Face ID / Touch ID / Windows Hello)を設定 / 解除します。
- 自動ロック:一定時間操作がないとロックします。
- メニュー:サイドバーのセクション単位で表示/非表示を切り替えます(デバイスごとの設定)。常に表示されるのはHOMEのみで、設定はトップバーからいつでも開けます。
- バックアップと復元:暗号化された保管庫をダウンロードします(開くにはPINが必要で、ファイルとPINの両方を持つ人は誰でも支出できます)。バックアップファイルからの復元もできます。
- ノード(ログイン前にもアクセス可能):状態ドット付きの現在のゲートウェイ、ゲートウェイを一覧表示してオンライン状況を確認(オンチェーンのレジストリから取得)、追加のフォールバックノード用のノードURLの手動入力、ノードの詳細設定。
- テーマ:ダーク / ライト。
- エアギャップモード:オンにするとウォレットは一切ブロードキャストしません。すべてのトランザクションは署名後にエクスポート(JSON+QR)され、ネットワークに接続された端末から送信します。トップバーにインジケーターが表示されます。
- リセット:このデバイスのデータ(保管庫、キャッシュ)を消去します。重要なものはすべてフレーズから復元できます。
11.2 ノード
バリデーターノードの運用に必要なすべての機能です(ZooBCアカウントのみ):
- マイノード:あなたのウォレットが所有するすべてのノード(全アカウントまたは1つ)。ローカルで名前を付けたり、鍵をコピーしたりできます。
- ノードの登録:ノードの64桁16進の秘密鍵+ロック残高(最低1 ZBC、デフォルト1000)を貼り付けます。ウォレットは最新のブロックを取得して所有証明(POOWN)を作成し、ノード鍵が
owner ‖ block hash ‖ heightに署名したうえで、NodeRegistration(タイプ2)をブロードキャストします。ノードを削除するとステークは解放されます。 - ノードの削除:登録を解除し、ロック残高が解放されます(RemoveNode, 514).
- ノードのステーク更新:新しいロック残高(据え置きまたは増額のみ可能)、新しいPOOWN(UpdateNode, 258).
- ノードの引き取り:秘密鍵で管理権を証明し、ノードの所有権をこのウォレットに付け替えます(ClaimNode, 770).
11.3 ネットワーク
あなたのオンチェーンのインフラ記録と、3つのレジストリのリアルタイムの概要です:
- ゲートウェイの登録:ゲートウェイのフォームへ移動します(10 ZBCのステークをロックし、登録解除時に返金されます。登録後はゲートウェイがハートビートを送り続ける必要があり、途絶えるとステークが返金されたうえで自動的に削除されます)。
- リレーの登録 / 更新:検出用にリレーを公開します。リレー鍵(ZBR_/64桁16進)、対応するゲートウェイ、ドメイン、URL(RegisterRelay、48。登録解除、49)。認証は引き続きオフチェーンのリレー紐付け証明書(後述)が行い、この記録は見つけやすくするためだけのものです。
- アーカイブノードの登録 / 更新:登録済みノードの1つを、全履歴+エクスプローラーAPIを提供するノードとして指定します。ノード鍵(ZNK_/64桁16進)、ドメイン、URL(RegisterArchival、46。登録解除、47)。エクスプローラーでそのノードにアーカイブバッジが付きます。
同じ鍵で再登録するとドメイン/URLが更新されます。再告知や登録解除は所有者によるもののみ有効です。
11.4 ゲートウェイ
- ゲートウェイ一覧:このウォレットが通信しているゲートウェイと、登録済みの全ゲートウェイの状態チェック(ゲートウェイを一覧表示してオンライン状況を確認)。接続に使うゲートウェイを選択します。ノードの詳細設定…でURLの設定を直接編集できます。
- ゲートウェイの登録:ゲートウェイ鍵を生成(または64桁16進を貼り付け。ZBG_アドレスのプレビューがリアルタイムで更新されます)、ドメイン、URL → RegisterGateway(36)で10 ZBCのステークをロックします。ハートビート(37)は稼働中のゲートウェイが自動で送信します。
- ゲートウェイの登録解除:鍵を指定して解除し、ステークが返金されます(UnregisterGateway, 38).
11.5 リレー
リレーの登録(運用者向けの手順で、トランザクションも手数料も不要):署名に使うZBG_鍵のゲートウェイを選び、証明書の有効期間(日数)を設定して、リレー鍵と証明書を生成します。ウォレットはリレーのZBR_鍵と、あなたのゲートウェイ鍵で署名された証明書を生成します。出力をリレーサーバーの/etc/zoobc/relay.envに貼り付けて再起動すると、ログに[fed] ONが表示され、ピアのゲートウェイと接続されます。鍵をローテーションするには、いつでも再実行してください。
11.6 ガバナンス
- 投票:投票はオンチェーンの記録(データセット)で、質問、選択肢、説明、投票期間、参加資格ルール(最低ZBC残高、最低アカウント経過日数、最低トランザクション数)で構成されます。新しい投票でエディターが開き、投票リンクを開く…で共有された
#gov=poll/...リンクを貼り付けます。各票は投票者のアカウントからの署名付きトランザクションで、集計はチェーンから直接読み取ります。投票カードにはステータス(開始前 / 受付中 / 終了)、票数、リンクのコピー、「開く」が表示されます。 - 手数料投票:ネットワークの手数料スケールの上げ下げに投票します(1.0× = 標準)。全ノードの票の中央値によって変動し、1期間あたり0.5×~2.0×の範囲に制限されます。手順は2段階です:
- コミット:あなたの票はハッシュとしてブロードキャストされます(FeeVoteCommit、タイプ7)。元の投票内容はウォレットがこのデバイスに記憶します。
- 公開:公開期間中に、票とあなたの生の署名をブロードキャストします(FeeVoteReveal, 263).
12. トランザクションリファレンス
整数はすべてリトルエンディアン、金額はアトミック単位です(ZBCは×10⁸、トークンは×10^decimals)。すべてのトランザクションは同じエンベロープを共有します:type(u32) · version(1) · timestamp(u64) · sender(typed acct) · recipient(typed acct; 02000000 = none) · fee(u64) · body_len(u32) · body · escrow-or-marker · message_len(u32) · message。エスクローブロック(エスクロー可能な任意のタイプ)はapprover(typed) · commission(u64) · timeout(u64) · instruction(lp4) · multi_party(1)で、エスクローなしの場合は4バイトのマーカー(=2)が書き込まれます。ZBCアカウントはSHA3-256("ZBC-TX" ‖ genesis_hash(32) ‖ unsigned_bytes)に対してed25519で署名し、その他の形式は同じダイジェストに対してそれぞれのネイティブ方式で署名します。ジェネシスハッシュをダイジェストに組み込むことで、署名が別のZooBCネットワークでリプレイされるのを防ぎます。これはv0.4.0から必須です。
支払いとエスクロー
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 1 | SendZBC | amount(8) | 受取人はエンベロープに含まれます。エスクロー+オンチェーンメッセージ(ZBC→ZBCでは任意で暗号化)に対応。 |
| 6 | LiquidPayment | amount(8) · complete_minutes(8) · [token_id(8)] · [fee_in_token(1)] | 期間中に受取人へ線形にベスティングされ、受取人はベスティングされた分を請求します。トークンのストリームでは末尾にtoken_idを追加します。 |
| 262 | LiquidPaymentStop | tx_id(8) | 送信者がストリームを停止し、未ベスティングの残りが返還されます。 |
| 4 | ApprovalEscrow | approval(u32: 0=承認, 1=却下) · escrowed_transaction_hash(32) | 指名された承認者が署名します。承認すると受取人へ解放され、却下すると送信者へ返還されます。タイムアウト時はチェーンが自動的に解決します。 |
| 260 | EscrowRequest | token_id(8) · amount(8) · approver(typed) · timeout(8) · commission(8) · instruction(lp4) | エンベロープの受取人 = 支払人。受取人側のエスクローで、支払人がTo-doから資金を入れます。 |
| 15 | CreateTrigger | fire_height(8) · amount(8) | エンベロープの受取人 = 受益者。今ロックし、指定のブロック高で支払います。 |
| 16 | CancelTrigger | trigger_id(8) | ロックされた金額を所有者に返金します。 |
スケジューラー
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 29 | ScheduledTransfer | token_id(8) · per_fire(8) · interval_s(8) · fires(u32) · cliff_s(8) · funding_mode(1) · cancel_policy(1) · end_time(8) · reserved(1) | funding_mode 0 = ベスティング(総額を事前ロック)、1 = 定期払い(実行時に引き落とし)。cancel_policy 0 = 取り消し可能。分割回数は1~520。 |
| 30 | CancelSchedule | schedule_id(8) | 送信者による取り消し(取り消し可能な場合)または受取人による辞退。未実行の残りは返還されます。 |
| 31 | ReassignSchedule | schedule_id(8) · new_recipient(typed) | 現在の受取人のみ。 |
メッセージとデータ
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 3 | SetupAccountDataset | prop_len(u32) · prop · val_len(u32) · val | チャットメッセージ、請求書、フォーム、投票、公証アンカー、プロフィール項目。1エントリーあたり最大4,096バイトで、ストレージレントがかかります。 |
| 259 | RemoveAccountDataset | 同じレイアウト | アカウント+プロパティ+値が完全に一致する必要があります。 |
| 9 | FundStorage | amount(8) | アカウントのデータセットレントを前払いします。 |
| 40 | StoreFile | file_root(32) · total_size(8) · piece_size(u32) · deposit(8) · piece_count(u32) · piece_ids(32×n) | DFSへのアップロードをアンカーします。預託金は0.01 ZBC以上で、ルートはピースと一致する必要があります。 |
| 42 | TransferDataset | object_id(32) · new_owner(typed 36) | 2段階の所有権移転(提示)。 |
| 43 | SetDatasetPolicy | object_id(32) · mode(1) · n_add(1)+adds · n_remove(1)+removes | アクセス制御リスト(1回の変更につき最大255件)。 |
| 44 | AcceptDataset | object_id(32) | 受取人が移転の提示を受諾します。 |
| 45 | DeleteDataset | object_id(32) | 所有者がオブジェクトを削除します。 |
object_id = 作成トランザクションのハッシュ(ZTX_/64桁16進)。存続期間を延ばすための補充は、オブジェクトのZBS_預託アドレス(アカウントタイプ10)への通常のSendZBCで行い、エスクローも利用できます。
トークン(カラードコイン)
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 10 | IssueToken | decimals(1) · flags(1) · supply(8) · backing(8) · sym(lp2) · name(lp2) | フラグ:償還可能、ミント可能。SVGアイコン+説明はメッセージに格納されます(6,144 B以下)。 |
| 11 | TransferToken | token_id(8) · amount(8) · fee_in_token(1) | エスクロー可能。エスクロー時の手数料はZBCである必要があります(fee_in_tokenは強制的に0)。 |
| 12 | MintToken | token_id(8) · add_supply(8) · add_backing(8) | 発行者のみ。単位価値を一定に保ちます。 |
| 13 | BurnToken | token_id(8) · amount(8) | 償還可能なトークンでは、裏付けの持ち分が返還されます。 |
| 14 | FinanceToken | token_id(8) · amount(8) | トークンの存続レントを補充します。 |
取引
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 18 | CreateSwapOffer | give_token(8) · give_amt(8) · want_token(8) · want_amt(8) · expiry(8; 0=GTC) · [counterparty(36)] | 渡す側をロックします。取引相手を指定すると、その相手限定のオファーになります。 |
| 19 | AcceptSwapOffer | offer_id(8) | アトミックスワップ:欲しい側はテイカー→メイカー、預かり中の渡す側→テイカー。 |
| 20 | CancelSwapOffer | offer_id(8) | メイカーのみ。預かり分を返金します。 |
| 21 | CreateMarket | base_token(8) · quote_token(8) · deposit(8) | オーダーブック型マーケット。預託金はZBCのレントです。 |
| 22 | PlaceOrder | market_id(8) · side(1) · price(8, ×1e8) · amount(8, ベース) · flags(1: bit0 成行, bit1 ポストオンリー) · expiry(8) | side 0 = ベース通貨を買い、1 = 売り。 |
| 23 | CancelOrder | order_id(8) | 所有者のみ。未約定の残りを返金します。 |
アプリ
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 24 | CreateApp | app_type(1) · stake_token(8) · stake_amount(8) · seats(1) · params(lp2) · [opponent(36)] · [channel(1)] | ステークは基本単位で指定します。席数:1はソロ、2は対戦、3以上はパーティー。対戦相手をエンベロープの宛先にすることで、招待が相手のストリームに表示されます。channel=1 = 高速モード(2席のみ)。 |
| 25 | JoinApp | app_id(8) | 参加者のステークをロックします。 |
| 26 | AppMove | app_id(8) · move(lp2) | 1手 = 1トランザクション。ノードのアプリVMが再検証します。 |
| 27 | ResignApp | app_id(8) | ステークは相手へ。 |
| 28 | ClaimTimeout | app_id(8) | 相手が1手ごとの期限を過ぎて放置した場合に勝利。 |
| 39 | SettleApp | app_id(8) · final_seq(u32) · move_count(u32) · [seat(1)·move(lp2)·sig(64)]* | 高速モードの精算:チェーンが署名付きバウチャーを再生して判定します。 |
ノードとインフラ
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 2 | NodeRegistration | node_pub(32) · owner(36) · locked(8) · POOWN(136) | 最低1 ZBCをロック。POOWN = owner‖blockhash‖height(72)+それに対するノードのed25519署名(64)。最新のブロックから作成します。 |
| 514 | RemoveNode | node_pub(32) | ロック残高を解放します。 |
| 258 | UpdateNode | node_pub(32) · locked(8) · POOWN(136) | ステークは据え置きまたは増額のみ可能。 |
| 770 | ClaimNode | node_pub(32) · POOWN(136) | 所有権を署名者に付け替えます。 |
| 36 | RegisterGateway | gw_key(32) · domain(lp4) · url(lp4) | プロトコルで固定された10 ZBCのステークをロックします。 |
| 37 | GatewayHeartbeat | gw_key(32) | 稼働確認の信号で、記録が削除されるのを防ぎます。 |
| 38 | UnregisterGateway | gw_key(32) | 10 ZBCのステークを返金します。 |
| 46 / 47 | Register / UnregisterArchival | node_pub(32) [· domain(lp4) · url(lp4)] | ステーク不要、手数料のみ。所有者が署名します。 |
| 48 / 49 | Register / UnregisterRelay | relay_key(32) [· gw_key(32) · domain(lp4) · url(lp4)] | 検出用の記録です。認証は引き続きオフチェーンの証明書が行います。 |
ガバナンスとポリシー
| タイプ | 名前 | ボディ | 備考 |
|---|---|---|---|
| 7 | FeeVoteCommit | vote_hash(32) | FeeVoteInfo(blockhash‖height‖feeVote)のSHA3-256。公開に備えて票はローカルに保持されます。1.0× ↔ feeVote 10000。 |
| 263 | FeeVoteReveal | FeeVoteInfo(44) · sig_len(u32=64) · voter_sig(64) | infoに対する生のed25519署名。中央値が適用され、1期間あたり0.5×~2.0×に制限されます。 |
| 5 | MultisigRegistration | ver(u32) · min_sigs(u32) · nonce(u64) · n(u32) · ソート済みの参加者 · 0 · 0 | アドレス = 正規化された参加者セットに対するSHA3-256をZBCエンコードしたもの。 |
| 50 | SetTransactPolicy | mask(u16) | ビットiがセット = アカウントがカテゴリーiからオプトアウト(ビット0~8、§5.7参照)。本人の署名のみ有効で、すべてのノードが双方向に強制します。 |
13. トラブルシューティング
- トップバーに「同期中…」と表示される:一時的なネットワークの瞬断です。ウォレットは30秒間連続で失敗するまでチェーンに接続できないとは判断せず、その間にフォールバックノードや既知のゲートウェイを自動で試します。
- 「新しいチェーンを検出しました」:ノードの最新ブロックが、このウォレットがこれまでに確認した最高ブロックを大きく下回っています。ネットワークがジェネシスから再起動されたということです。ウォレットは旧チェーンのキャッシュ(アクティビティ、トークン、アプリ、通知)をワンクリックで消去する機能を提供します。鍵、シード、連絡先は保持されます.
- PINを忘れた:5回間違えると保管庫は消去されます。リカバリーフレーズ(またはバックアップファイル+そのPIN)で復元してください。
- 手数料だけが課されてトランザクションが拒否された:相手(またはあなた)が、そのカテゴリーを拒否する取引ポリシーを設定しています(§5.7)。
- 取引所/マーケットプレイス/アプリにOFFLINEと表示される:ノードにそれらのエンドポイントがないか、ノードに接続できません。各タブは確認を続け、復旧すると自動的にLIVEに切り替わります。
- アプリが固まった / アプリの途中でブラウザを閉じた:ロビーから同じアプリを開き直すと再接続されます。オンチェーンのアプリはチェーンから再構築され、高速モードのアプリはバウチャーを自動で再送します。
- 別のデバイスから送ったメッセージ/トランザクションがアクティビティに表示されない:アクティビティのLatest TXソースは、接続中のノードの直近の範囲のみを表示します。全履歴を見るには、ソースをAll TX(アーカイブ)に切り替えてください。
- 共有リンクが#で始まる:ローカルファイルから実行しています。受取人は自分のコピー、またはゲートウェイがホストする任意のウォレットで、
…wallet.htmlの後ろにフラグメントを貼り付けます。
14. 用語集
- アトミック単位:オンチェーンの最小単位。10⁻⁸ ZBC。
- 裏付けトークン:ZBCをロックして裏付けとしたトークン。バーンすると按分された裏付けが償還されます。
- データセット:アカウント上のプロパティ→値の記録。チェーンの汎用データストアです。
- エスクロー:指名された承認者が承認または却下するか、期限による自動解決まで資金を預かる仕組み。
- 高速モード / チャネル:オフチェーンの署名付き手番バウチャーを、最後の1トランザクションで精算する仕組み。
- ゲートウェイ:ウォレットが接続に使うWebサーバー(ZBG_鍵)。
- リキッドペイメント:時間の経過とともに継続的にベスティングされる送金。
- POOWN:ノード所有証明。ノード鍵が、所有者+最新のブロックハッシュ+ブロック高に署名します。
- リレー:ゲートウェイが運用する通話/在席情報サーバー(ZBR_鍵)。
- 利用可能額:残高からロック中のもの(ステーク、エスクロー、オファー、スケジュール)をすべて差し引いた額。
- 保管庫:シード、鍵、連絡先を保持する、PINで暗号化されたローカルストア。
- 閲覧専用:鍵なしで追加したアドレス。閲覧はできますが、署名はできません。
- ZBS_アドレス:オブジェクトのレント預託用アカウント。通常のアドレスと同じように入金できます。
- ZTX_:トランザクションハッシュの表示形式。