コンテンツにスキップ

bitCaster 入門

bitCasterは開発中です。本番環境にはデプロイしていません。 開発環境やテスト環境で、実際の資金を使わないでください。

bitCasterでは、イベントの結果ごとのシェアを売買できます。 例えば、選挙で Alpha、Beta、Gamma の誰が勝つかを予測するマーケットです。 通常のマーケットでは、勝った結果のシェア1枚につき1 satを受け取れます。 負けた結果のシェアには受取額がありません。結果が決まる前の取引価格は上下します。 予測が正しくても、結果が決まる前に利益を出して売れるとは限りません。

ブラウザはカジュアルな参加者とマーケット作成者向けです。プロのトレーダーと自動取引では、CLI、daemon、および SDK を使用できます。すべてのクライアントは同じ注文板と決済プロトコルを使用します。

コマンドラインインターフェース(CLI)は、独自のグラフィカルインターフェース(GUI)、 ターミナルインターフェース(TUI)、スクリプト、取引用 AI エージェントからの利用も 目的としています。単なるデバッグツールではなく、アプリケーションの操作用インターフェースです。 Web アプリのすべての操作と、それに必要なデータを CLI から利用できる設計を目指しています。 開発中のため、まだ対応していない操作があります。 利用できるコマンドは bitcaster-cli --help で確認してください。

ブラウザアプリとプロトコル仕様は公開されています。マッチングエンジンは クローズドソースです。ウォレットは Cashu ecash トークンをブラウザ内に保存します。 Web アプリは、サーバーが復号できない暗号化復元コピーを保存できます。 その制限はウォレットの暗号化バックアップを参照してください。

Cashu自体の概要についてはBitcoin Design の解説を参照してください

マーケットのシェアを売買する

Section titled “マーケットのシェアを売買する”

マーケット、結果、売買するシェア数を選びます。 確定する前に、購入代金または売却代金の見積もりと、別途かかる手数料を確認します。 注文は、同意した取引代金より高く買ったり、安く売ったりしません。 同じ条件または有利な条件では約定できます。現在の注文では不利な条件になる場合、 注文全体を拒否します。新しい注文を確定する前に、新しい見積もりを確認してください。 最終約定価格の見積もりは、予定する注文の最後の約定価格を示します。 注文後の注文板の中間価格を保証するものではありません。 フォームは入力数量と手数料を確認します。 現在の注文では価格制限内に全量を約定できない場合、警告を表示します。 プレビューは流動性を予約しません。 注文は制限内で全量が約定するか、全く約定しないかのどちらかです。 後の約定を待つために注文板に残ることはありません。 マーケットには、YesとNoのような2つの結果、または最大8つの名前付きの結果があります。 ウォレットへの入金には、Lightningインボイス、または対応ミントの既存の Cashu トークンを使用できます。アプリの金額表示は sats です。小さい金額は小数で表示します。 残高やマーケットのコンパクトな表示では、小数部分を小さい文字で表示します。 金額の精度は変わりません。

確定する前に、選択した結果を確認してください。上の例では、Alpha は Alpha の勝利を 意味します。Not Alpha は Beta または Gamma の勝利を意味します。

決済後、アクティビティには使用中のウォレットの確定済み約定を表示します。 所属する注文が分かる約定は、注文ごとに1つの展開可能な行へまとめます。 行を展開すると、各約定の結果、シェア数、手数料を除く取引代金を確認できます。 この金額は、ウォレット残高の正味の増減額ではありません。 行がまとまっていても、注文全体の完了を意味しません。 所属する注文が分からない約定は、別々に表示します。 未確定または失敗した注文は、完了した取引として表示しません。

質問、可能な結果、結果の判定方法を定義します。マーケット作成時に入金や開始確率の 指定は不要です。作成してもマーケット価格は設定されません。

作成後にマーケットメイク Bot へ資金を提供できます。追加の資金提供もできます。 これは返金されない補助金です。シェア、手数料収入、出金権を得る投資ではありません。 自分の取引用ウォレットへの入金とは区別してください。利用可能な流動性がない場合、 取引フォームは Liquidity タブへ案内します。すべての結果の注文板が空の場合、 Buy と Sell は注文フォームの代わりにこの案内を表示します。 注文板の取得待ちや取得失敗を、空のマーケットとして扱うことはありません。

予測市場では現実の結果に応じてトークンの価値が決まります。時にあいまいになりうる「現実の結果」を、判定する審判がオラクルです。 オラクルには誰でもなることができます。 マーケット作成時にオラクルは指定され、その後変更されることはありません。 有効なオラクルの署名は、誰が結果に署名したかを示します。結果が真実であることは証明しません。bitCaster はオラクルの信頼度スコアを提供しません。 詳しくはマーケットの清算を参照してください

マーケットのオラクル鍵がNostr公開鍵である場合、取引前にそのオラクルを自分でも確認することを推奨します。マーケット詳細ページからオラクルのnpubをコピーし、普段使っているNostrクライアントでそのアイデンティティの履歴や信頼性を確認できます。

初回リリースは、bitCaster が運営する1つの Cashu ミントに対応します。 ネイティブ CLI の設定では、ミントの接続先を保存・選択できます。 この設定により、別のミントでの取引に対応するわけではありません。 選択中の接続先を変更しても、既存の資金の移動や変換は行いません。 保有資金や未完了の処理には、元のミントへのアクセスを保持してください。 ミントソフトウェアとプロトコル仕様は引き続き公開します。

すべてのマーケット結果には対応するトークンがあります。公開マーケット価格は、最新の確定済み取引から決まります。最初の確定済み取引の前はマーケットに価格がないため、アプリは No trades yet または em dash を表示します。確定済み取引の価格は 53.3% のように、小数第1位までの確率として表示されます。Bid/Askのミッドポイントは注文入力の参考値にすぎません。

シェア数は整数で入力します。送信する前に取引代金、手数料の内訳、 支払総額または手数料差引後の受取額を確認してください。例えば50枚を30.0%で買うと、決済手数料を除く 支払い額は15 satsです。勝った場合の受取額は50 satsです。 表示されるパーセント値は取引価格であり、イベントの結果を保証するものではありません。

イベントの結果が決まると、勝ったトークンを償還できます。負けたトークンには 受取額がありません。正しい結果の報告はオラクルに、償還の履行はミントに依存します。 ミントがサービスを停止すると、取引や償還が遅れることがあります。 ウォレットの鍵を自分で持っていても、このミントのリスクはなくなりません。

Cashu はプロトコル上、トークンの所有情報をミントから保護します。 ただし、アプリ内のすべての活動が匿名になるわけではありません。 マッチングエンジンは、認証された活動をアカウントに関連付けられます。 暗号化バックアップはウォレットの内容を保護しますが、すべてのアカウント情報や 活動メタデータを隠すものではありません。

トークンの実態は単なる署名データです。使用中のウォレットデータベースはユーザーの ブラウザ内のローカルストレージにあります。デフォルトの Web アプリは、内容を サーバーが読めない暗号化復元コピーも保存します。

これにより、サーバーが保持するウォレット情報を最小限にできます。暗号化バックアップ サービスからは、限定的なアカウント、保存量、活動時刻のメタデータが見えますが、 資金を復号したり使用したりすることはできません。

代わりに、ほかのすべての暗号資産のウォレットと同様、秘密鍵の管理が必要になります。12語のニーモニックを安全にバックアップしてください。

最初のウォレット操作の前に、作成または復元を選びます。 新しいウォレットはブラウザ内で生成します。 復元する場合は、有効な12語の復元フレーズを入力します。 セットアップだけでは支払いを送信しません。 復元フレーズやバックアップの操作は、ウォレットがある場合だけ表示します。

別のウォレットを使う場合は、設定のウォレット欄でその復元フレーズをインポートします。 これは使用中のウォレットを置き換える操作です。名前付きの別プロフィールは追加しません。 先に現在の復元フレーズを保存してください。未完了のウォレット操作や不完全なバックアップが ある場合、置き換えできないことがあります。Nostr アカウントは変更しません。 アクティビティは、その操作を行ったウォレットに対応したまま保持します。

Nostr 署名鍵は別の秘密情報です。ウォレットの復元フレーズと、アプリに表示される Nostr 秘密鍵をバックアップしてください。すでに Nostr アカウントを使っている場合は、 新しい鍵を生成せず、そのアカウントを接続してください。

設定では、接続中の Nostr プロフィールと再取得の操作も利用できます。 プロフィール名は表示情報であり、本人であることを証明するものではありません。 保存したリレーだけを使用します。リレー一覧を空にすることは、Nostr リレー通信を 行わないという明示的な選択です。代わりのリレーを使う指定ではありません。 お気に入りや他の設定は、ウォレット資金のバックアップではありません。

ネイティブ CLI は、既存ウォレットをその場で置き換えず、別々のプロファイルを使います。 --datadir でプロファイルを選択します。シードと署名鍵のファイルは、新しいプロファイルにだけ インポートしてください。資金や未完了の処理がある間は、古いプロファイルを保持してください。 初期化は鍵のインポートです。資金を復旧する操作ではありません。 wallet recover-seed には、シードから生成した候補をミントに開示することへの明示的な同意が必要です。 詳しくは CLI のウォレットと署名鍵の操作を参照してください。

バックアップのためにウォレット操作が停止している場合

Section titled “バックアップのためにウォレット操作が停止している場合”

ウォレットバックアップを準備中の間は待ってください。Continue を繰り返し押す必要はありません。 バックアップの準備または復旧が完了するまで、追加入金や他の新しいウォレット操作は停止します。 ウォレットバックアップが停止しましたと表示された場合は、バックアップを再試行を選びます。 ウォレット操作は一時停止していますと表示された場合は、その理由に従い、復旧を再試行を選びます。 別のウォレットタブについての案内が出た場合、使っていないタブを閉じてください。 バックアップを開始できない案内が出た場合は、ログインするか、ページを再読み込みしてください。 再試行を待つ間は、ページを開いたままにしてください。 再試行しても、未解決の処理や未払いのインボイスが解消されるとは限りません。 復旧が未完了の間は、ローカルウォレットが資金と未完了の処理を保持します。 停止を回避するためにウォレットデータを削除したり、別の支払いを始めたりしないでください。

マーケット一覧で検索、タグ、フィルターを使ってください。読み込み中、読み込みの失敗時、 一致するマーケットがない場合も、これらの操作を利用できます。 すべてクリアで、検索文字列、選択したタグ、フィルターを解除できます。

タグの件数と詳細フィルターは、読み込み済みの結果に適用されます。カタログ全体には 適用されません。さらに探す場合は、結果を追加で読み込んでください。

マーケットをお気に入りに保存すると、後から探しやすくなります。 CLI では market liked、market like、market unlike を使います。 market liked --local は、リレーやカタログへのリクエストを送らずに、保存済み ID を読みます。 これらの設定は、リレーで公開される場合があります。 コマンドの詳細は お気に入りと継続監視を参照してください。

マーケットのチャートは、各プリミティブな結果ごとに記録済みの取引を表示します。1つの結果だけが取引されている場合は、その線だけが表示されます。取引されていない結果の価格を bitCaster が作って表示することはありません。確定済み取引がない場合は No trades yet または em dash を表示します。

過去の日付を指すと、その日付以前で最後に確定した取引価格を表示します。 ポインターの高さから価格を決めることはありません。 その日付以前に確定取引がない結果は、価格を取得できない状態として表示します。 カテゴリ別の線は、時刻をそろえるための空白をまたいで、確定済みの点を結びます。 この接続で取引を追加したり、未取引の結果に価格を作ったりはしません。

サービスが確定済み取引の価格を読み取れない場合、市場の詳細を一時的に取得できません。しばらくしてから再度お試しください。このエラーは、市場が存在しないことや、取引がないことを意味しません。

注文板は、スプレッドの上にAsk(売り注文)、下にBid(買い注文)を表示し、最も有利な価格がスプレッドに近くなるように配置します。各行は価格、累積板厚、視覚的な厚みを組み合わせて表示します。長いバーほど、その価格またはそれより有利な価格で利用できる累積流動性が大きいことを示します。両側の深さは正規化されており、BidとAskの板厚を一目で比較できます。マーケットカードと詳細ページでは、受取手数料を差し引いた 資金提供総額 が表示されます。新しい支払いが確定すると増えます。取引では減りません。これは現在の注文板流動性ではありません。

取引コメントは任意で、bitCaster 内では公開されます。コメントは、紐づく注文が実際に約定してから表示されます。そのためコメント欄には、そのマーケットで取引済みのユーザーのコメントだけが表示されます。P20 のコメントは公開 Nostr リレーには投稿されません。

チャートのコメント吹き出しは、対応する確定取引の時刻と価格を指します。 吹き出しにカーソルを合わせるか、フォーカスするか、タップするとコメントを読めます。 取引の位置を取得できない場合や、チャートの表示範囲外にある場合も、コメントは一覧に残ります。 一覧にはコメントが書かれた時刻を表示します。

チャートの各コメントには、公開の投稿者名、本文、投稿日時を表示します。 投稿者は、そのコメントに署名した公開鍵です。公開の Nostr プロフィールを取得できる場合は、 その表示名を使います。取得できない場合は、短縮した公開鍵を表示します。 プロフィールの取得は、マーケットページの表示を待たせません。 プロフィール名は表示情報であり、本人であることを証明するものではありません。

ウォレットに入金する前に、ウォレットの暗号化バックアップを 読んでください。復元フレーズを安全に保管してください。最初の取引の前に、 マーケットの質問、オラクル、結果の判定ルールを確認してください。 マーケット作成や Bot への資金提供は、取引の流れを理解してからでも構いません。

  1. ecashのトークンは厳密にはセルフカストディではない点に注意してください。https://iscashucustodial.com/ または https://bitcoin.design/guide/how-it-works/ecash/introduction/, https://stacker.news/items/793450 などを参照 ↩