リレー
ZooBC のウォレットは、どの連絡先がオンラインかを表示し、アカウント間の通話を設定することができます。2 つのブラウザは通常、互いに直接接続できないため、開かれたインターネット上に待ち合わせ場所が必要です。リレーがその待ち合わせ場所です。2 つのウォレットが互いを見つけるためのシグナリングを運び、通話そのものにどのサーバーを使うかを伝え、誰がオンラインかを知らせます。リレーはチェーン上に一覧されているため、ウォレットは中央のディレクトリなしにそれを見つけられます。
リレーの役割
リレーは 3 つの方法でウォレットに役立ちます。
- シグナリング:2 つのウォレットが通話を設定するためにやり取りする短いメッセージで、
/relay/wsの WebSocket で運ばれます。 - オンライン状態:その時点でどのアカウントがオンラインか。
- 接続の手助け:家庭のルーターの背後にある 2 つのブラウザが、通話のために互いに届くようにする TURN と ICE のサーバー。
公式の ウェブウォレット は、チャネルゲームの署名付きの手もリレーを通じて渡します(チャネルアプリ)。
各リレーは /relay/info で自身を説明します。運用者の支払先アドレス、料金、TURN サーバー、シグナリングのパスです。中継されるデータの料金は運用者のアドレスに ZBC を送ることで支払われ、資金のないアカウントは拒否されます。
サインイン
リレーは、どのアカウントが本当にオンラインかを知らなければなりません。さもなければ、誰でも誰にでもなりすますことができてしまいます。そのためウォレットは、リレーからの一度きりのチャレンジにアカウントの鍵で署名してサインインします。チャレンジは再利用できず、鍵がウォレットから出ることはありません。
チェーン上にリレーを一覧する
オーナーは RegisterRelay(タイプ 48)でリレーを一覧に載せ、次のものを指定します。
ZBR_…と書かれるリレー自身の鍵- リレーが属するゲートウェイの鍵。同じアカウントが所有するアクティブなゲートウェイでなければなりません。
- ドメインと URL。ゲートウェイと同じルールで、ドメインは英字、数字、ドット、ハイフン、URL は
https://で始まるものです。
ステークはロックされません。オーナーは UnregisterRelay(タイプ 49)でエントリーを取り下げ、ウォレットは GET /api/v1/registry/relays でリレーを見つけます。自分のゲートウェイが応答しなくなると、ウェブウォレットはゲートウェイ、リレー、アーカイブのサービスのオンチェーンの一覧を読み直します。
リレーがしないこと
- トランザクションを転送しません。ノードは、料金を取らずに自らトランザクションをピアに渡します。
- ブリッジのために他のチェーンを監視しません。それは登録済みノードの横で動くキーパーのプログラムが行います(ブリッジとラップドコイン)。
- ブロックを作りません。それをするのは登録済みノードだけです(ノードの運用)。
- ユーザーの鍵を持つことは決してありません。