次の分散型エコシステムの成長を、ただ見ているだけでなく、一緒に構築しよう。
ZooBCはゲートウェイとAPIを通じてチェーンを公開しています。ウォレットは、その上にすでに構築されている取引所、支払い、アプリケーション、コミュニケーション、ストレージ、ビジネスツール、インフラ管理機能を実際に示しています。
なぜこのシンボルなのか?
ビーバーは、素材を加工して暮らせる環境をつくります。プロトコルを、人々が使えるツール、ブリッジ、アプリケーション、居場所へと変える開発者やプロダクトチームを表しています。
扱いにくい部分も含めて、実際に存在するプロトコルに合わせて構築する。
ZooBCは幅広いトランザクションとアプリケーションの機能を公開していますが、統合はワイヤ上の正確な動作から始まります。どのサービスがリクエストを受け取るのか、署名済みエンベロープにどのフィールドが入るのか、どの金額がアトミック単位なのか、手数料がどう計算されるのか、そしてどの結果が成功の証拠となるのか、です。
正しいサービスを選ぶ
/api/v1/ 配下のチェーン読み取りは、アーカイブの履歴から提供される場合があります。トランザクションのPOSTはメモリプールを必要とするため、フルノードに届く必要があります。アプリケーション状態のルートの中には、アーカイブではなくノードのエンドポイントであるものもあります。
署名済みエンベロープをモデル化する
すべてのトランザクションは、型付きのボディを共通のエンベロープで包みます。受信者とメモは、タイプ固有のボディではなくエンベロープに入る場合があります。アカウントタイプが求める方式で、未署名のエンベロープ全体に署名してください。
値を正確に保つ
APIの金額はアトミック単位を使います。1 ZBCは100,000,000アトミック単位です。古いインターフェースの手数料計算を再現するのではなく、現在の手数料パラメータを読み取るか、そのトランザクションの正確な手数料を見積もってください。
効果を検証する
送信が成功しても、ワークフローは終わりではありません。トランザクションの識別子を保持し、ブロックへの取り込みを確認し、結果として生じたムーブメントや状態を調べ、ノードの受付応答と確定したチェーンの状態を区別してください。
これらを技術的な取り決めとして扱う。
統合の失敗のほとんどは、ユーザーインターフェースが隠している境界を破ることから生じます。
| 取り決め | 求められる動作 | よくある失敗 |
|---|---|---|
| 読み取りと書き込みのルーティング | GETには読み取り可能なチェーンのエンドポイントを、トランザクションのPOSTにはフルノードのメモリプールのルートを使います。 | アーカイブの履歴に向けてブロードキャストし、その拒否を無効なトランザクションと解釈してしまう。 |
| アトミック単位の金額 | ZBCとトークンの値は整数のアトミック単位で表し、トークンの小数桁は表示にのみ適用します。 | 小数の表示値を、ワイヤ上の金額であるかのように送信してしまう。 |
| 手数料の計算 | 公開TestNetゲートウェイの https://zoobc.network/api/v1/blockchain/fee-params を読み取るか、シリアライズしたトランザクションに対して正確な手数料見積もりツールを使います。 | サイズ、ストレージ、期間、ネットワークの手数料スケールにもう合わなくなった手数料をハードコードしてしまう。 |
| エンベロープとボディ | 共通のエンベロープに加えて、正確なリトルエンディアンの型付きボディと、任意のモディファイアをシリアライズします。 | 受信者、メモ、トークンID、タイミングのデータを、誤ったレイヤーに配置してしまう。 |
| 鍵の取り扱い | 署名はローカルで行い、秘密情報をURL、ログ、プロセス一覧、アナリティクス、サーバーに含めないようにします。 | 秘密鍵を、目に見えるコマンドライン引数やリモートのフォームフィールドとして渡してしまう。 |
| 状態の解釈 | 署名されたアクションにはトランザクションを、それによって生じたプロトコル上の効果にはムーブメントやアプリケーション状態を使います。 | すべての報酬、返金、ベスティングの解放、アプリの結果を、新しいユーザートランザクションだと思い込んでしまう。 |
まずは、検証可能な縦断機能をひとつ作る。
大きなインターフェースを設計する前に、1つの読み取り、1つの署名付きテストネット操作、1つの確定した結果を、エンドツーエンドで動かしてください。
- 01
接続を証明する
ブロックチェーンのステータスを照会し、返されたブロック高を記録します。アカウントの作成やテストコインのリクエストの前に、対象のネットワークとゲートウェイの動作を確認してください。
- 02
トランザクションタイプを1つに絞る
そのエンベロープ、ボディのレイアウト、アカウントタイプ、手数料の動作、モディファイア、結果を読み込みます。インターフェースが似ているというだけで、あるトランザクション形式を別の形式から推測しないでください。
- 03
ローカルで構築して署名する
整数のアトミック単位で金額をシリアライズし、正確な手数料を見積もり、秘密鍵をサーバー、ログ、URL、アナリティクスのイベント、シェル履歴にさらすことなく署名します。
- 04
送信、確認、照合
フルノードに送信し、返された識別子を保持し、エクスプローラーまたはAPIでブロックへの取り込みを確認し、成功を報告する前に、結果として生じたムーブメントやアプリケーション状態を調べます。
統合に、鍵の漏えい、表示単位とアトミック単位の混同、古い手数料の前提のハードコード、誤ったサービスへの送信、ノードの受付を最終確定として報告する、といった問題が残っている間は、テストネットから価値を伴う利用へ移行しないでください。
その動作に最も近いリファレンスを使う。
開発者ガイドはトポロジーを説明し、APIドキュメントはルートを記述し、マニュアルはシリアライズとアプリケーションのルールを文書化し、ライブツールでは経路全体をテストできます。
ゲートウェイの動作、最初のルート、トランザクションの送信、ノードの指定、運用、ダウンロード。
↗ルートリファレンスAPIドキュメントメソッド、パス、パラメータ、認証、リクエストボディ、レスポンスの例。
↗ワイヤフォーマットトランザクションマニュアルエンベロープの構造、署名、アトミック単位、手数料の見積もり、モディファイア、全トランザクションタイプ。
↗コマンドCLIマニュアルテストネットでの作業に使うコマンドの動作と、サポートされているトランザクション構築の方法。
↗アプリケーションのルールアプリマニュアルアプリのトランザクションボディ、レジストリ、支払い、乱数、ステートチャネル、状態ルート、検証。
↗テスト用コインフォーセットサポートされた開発やトランザクションのテストのために、価値のないテストネットZBCを入手します。
↗失敗は明示的に、鍵は退屈に。
役に立つ統合は、状態については正確で、攻撃者にとっては面白みのないものです。
- 署名用の秘密情報はローカルに保ち、テレメトリーから外す。
- データ層全体で整数のアトミック単位を使う。
- 手数料は、ライブのプロトコルから見積もる。
- トランザクションIDを保持し、結果のムーブメントと照合する。
- 利用不可、保留中、拒否、取り込み済み、確定の各状態を区別して表示する。
- 古い手数料、ブロック高、ノード一覧、リリースハッシュをハードコードする。
- アーカイブ専用のルートに書き込みを送る。
- レスポンスボディを読まず、トランザクションを追跡もせずに、200レスポンスを確定した状態の証拠とみなす。
- ドキュメントにないトランザクションフィールドやアプリケーションの動作をでっち上げる。
- 秘密鍵をクエリ文字列、ログ、スクリーンショット、サポートへのメッセージに含める。
あなたに当てはまりますか?
開発者、アプリケーションチーム、プロトコルエンジニア、テスター、技術面の貢献者へ.
アプリケーション、プロトコル、インテグレーション、インフラ、開発者ツールを構築しています。
新しい機能を試し、バグを見つけ、ドキュメントを改善したいと考えています。
オープンなシステム、ローカルでの署名、検証可能な動作、ユーザーによる所有を大切にしています。
技術的な能力を、他の人が実際に使えるものに変えられます。
本物の入口から入る。
以下の各ルートは、既存のZooBCのページ、ツール、または現在のコミュニティの場につながっています。
証拠をたどる。
ひとつのマーケティングページに頼るのではなく、問いに合った情報源を使ってください。
関心から参加へ。
- 01技術モデルを読む
- 02APIとテストネットのツールを使う
- 03ビルド、バグ報告、テスト、技術提案を持ち寄る
次の分散型エコシステムの成長を、ただ見ているだけでなく、一緒に構築しよう。
ZooBCはゲートウェイとAPIを通じてチェーンを公開しています。ウォレットは、その上にすでに構築されている取引所、支払い、アプリケーション、コミュニケーション、ストレージ、ビジネスツール、インフラ管理機能を実際に示しています。