ZooBC ウィキ
アプリと ZooBC での開発

プロジェクトのアイデア

ZooBC には仮想マシンがないため、誰もコントラクトをデプロイしません。その代わりに、すぐに使える豊富なトランザクションタイプを提供しており、良いプロジェクトはそれらを組み合わせます。チェーンが審判と台帳を務め、アプリはその顔となり、それは多くの場合 1 枚のウェブページです(1 枚の HTML ページでアプリを作る)。以下のアイデアはどれも、ノードがすでに実行しているトランザクションタイプだけを使っており、それぞれ作り手が知っておくべき注意点を添えています。

LiquidPayment と LiquidPaymentStop による川のような支払いと、同じように作られた他のアイデア。
LiquidPayment と LiquidPaymentStop による川のような支払いと、同じように作られた他のアイデア。

支払い

川のような支払い

LiquidPayment(タイプ 6)は、ZBC またはトークンで一定額をロックし、選んだ complete_minutes にわたって受取人へ均等に権利が確定していきます。最後には全額が自動的に支払われます。どちらの当事者も送れる LiquidPaymentStop(タイプ 262)は、それまでに権利が確定した分を支払い、残りを戻します。ページは水位を描くだけで済みます。知っておくと良いこと:分け方は 2 つのトランザクションのタイムスタンプの間の時間に従い、受取人の取り分は切り上げられます。3 分間で 10,000,000 単位を 66 秒後に止めると、受取人に 3,666,667 単位、戻りが 6,333,333 単位になります(リキッドペイメント(ストリーム))。

敷金

借り手は、承認者、承認者への手数料、期限を指定したエスクロー付きの SendZBC として敷金を送ります(エスクロー)。承認者は承認して金額を貸し手に渡すことも、拒否して借り手に戻すこともでき、どちらの場合も承認者への手数料を受け取ります。誰も行動しなければ、期限を過ぎた最初のブロックが金額と承認者への手数料を借り手に戻します。注意点:エスクローレントは作成時に支払われ、決して返金されません。また、プルーニングの届く範囲より先の期限は、トランザクションの延命デポジットがそれだけ長く保持する費用を支払っていない限り拒否されます。

家族のアカウント

LinkAccount(55)、SetMemberPermissions(57)、UnlinkAccount(56)、TransferGroupControl(58)によって、家族は最大 100 のアドレスの背後に 1 つの残高を持てます(アカウントグループ)。注意点:参加には参加するアドレスの同意が必要で、そのアドレスが所有するすべてのものがグループに移ります。新しいメンバーはコントローラーが権限を与えるまで受け取ることしかできず、離脱するメンバーは何も持ち出せません。

ゲーム

サイコロのアーケード

タイプ 16 から 19(2 個のサイコロ、コイントス、ルーレット、スロット)の CreateApp は、アプリプール を相手に遊びます。ページは約 30 秒後に結果を表示し、/api/v1/apps/pool を読んで各ゲームで許される最大の賭け金を表示できます。注意点:最大の配当がプールの 5 % を超える賭けは拒否され、非常に大きな勝ちは複数のブロックにわたって支払われることがあります(ソロベット)。

三目並べのキオスク

タイプ 1 を、CreateApp、JoinApp、AppMove、ClaimAppTimeout とともに使います(マルチプレイヤーアプリ)。注意点:すべての手はトランザクションで、手数料とブロックを待つ時間がかかります。立ち去ったプレイヤーは、相手が請求できるようになるまで 240 ブロックの間ゲームを止めておくことになります。そして Ethereum や Bitcoin 形式の鍵を持つアカウントは席につけません。

電光石火の対決

SettleApp で決済する 2 人用のチャネルゲームです(チャネルアプリ)。手は署名付きのバウチャーとしてプレイヤーの間を飛び交い、チェーンが見るのは賭け金と決済だけです。注意点:アプリはプレイヤーの間で手を運び(公式ウォレットはリレーを使います)、受け取った署名付きの手をすべて保管し、240 ブロックの異議申し立て期間を見守らなければなりません。

トークンと取引

コーヒーのスタンプ

IssueToken(タイプ 10)で小数桁数 0 のスタンプトークンを作るので、整数単位で動きます。TransferToken(11)で客にスタンプを渡し、BurnToken(13)でカウンターでスタンプを使います(トークンの発行)。*注意点:*BurnToken は償還可能として発行されたトークンでしか動作せず、単位をバーンできるのはその保有者だけです。また、トークンは維持費が支払われている間しか存続しません(トークン維持費(存続))。

スワップのキオスク

CreateSwapOffer(18)、AcceptSwapOffer(19)、CancelSwapOffer(20)で、任意の 2 つの資産の間のアトミックスワップの掲示板を作ります(スワップオファー)。*注意点:*1 人のテイカーが求める側の全額を支払い、部分的な約定はありません。また、オファーの有効期限は受諾を止めるだけなので、期限切れのオファーはメイカーが取り消すまでロックされたままです。

記録とメッセージ

ハッシュのスタンプ

ファイルの SHA-256 をメッセージに入れたトランザクションは、そのブロックが作られた時点でそのファイルが存在したことを示し、FundLongevity(52)または延命フィールドが、それをプルーニングを越えて保持します(データ保持のための支払い(ロンジェビティ))。ゲートウェイの /verify ページは、ブラウザの中でハッシュを計算し、それをチェーン上で検索します(ダウンロードしたファイルの確認)。注意点:ロンジェビティのデポジットがなければ、通常のノードは 30 日から 60 日後にスタンプをプルーニングします。また、最初の FundLongevity は、スナップショットの間隔 1 つ、約 30 日以内に届かなければなりません。

封をした絵はがき

"ZBE1" の印が付き、受取人の鍵に封じられた暗号化メッセージは、最大 268 バイトのテキストを運べます(署名付きメッセージと暗号化メッセージ)。注意点:封じられるのはテキストだけです。トランザクション自体は、送信者、受取人、時刻を含め、他のどのトランザクションとも同じように公開されています。

ZooBC でサインイン

サイトが一度きりのチャレンジを表示し、ユーザーは公開のツールでそれを ZBC-MSG-v2 メッセージとして署名します。これは SHA3-256("ZBC-MSG-v2" ‖ genesis hash ‖ message) に対する Ed25519 署名で、サイトはその署名をアカウントの鍵と照合します。注意点:メッセージの署名はコンセンサスの一部ではなく、ノードにはそのためのルートがないため、サイトが自分で検証します。また、公式のウェブウォレットはメッセージに署名しません。

ノードの変更が必要なもの

  • 自動マーケットメイカー。 ZooBC には決定によって AMM のプールがありません。その取引所は、オーダーブックとスワップオファーです(マーケットと注文)。
  • Solidity やあらゆる EVM のコントラクト。 仮想マシンがありません。
  • ポーカーのような新しいゲーム。 ゲームのルールをスクリプトとしてアップロードすることはできません。新しいゲームにはノードの新しいルールが必要です。
  • キャッシュアウトのボタンがあるクラッシュゲーム。 クラッシュは目標があらかじめ固定されたソロベットで、キャッシュアウトするための手はありません。

関連項目