接続されていないノードでトリガーされた「Invalid pre-image data」、JSONデータの検証などにJSON-Schemaを使用します。(英語版)

Image for post

機能の実装

 

接続されていないノード#1062でトリガーされた「Invalid pre-image data」
これはバグ修正でした。次のメッセージは、接続されていない空のバリデーターには表示されません。それがあるということは、プリイメージの伝播/「Genesis」ブロックにバグがあることを意味します。

 

$ dub build
$ cd test/system/node/2/
$ ../../../../build/agora
[…]
[main(ZbnT) INF] Listening for requests on http://0.0.0.0:2826/
Task terminated with uncaught exception: Request failure to http://node-6:6826 after 5 attempts
Task terminated with uncaught exception: Request failure to http://node-7:7826 after 5 attempts
Task terminated with uncaught exception: Request failure to http://node-4:4826 after 5 attempts
Task terminated with uncaught exception: Request failure to http://node-5:5826 after 5 attempts
Task terminated with uncaught exception: Request failure to http://node-3:3826 after 5 attempts
2020–07–27 09:15:36,758 Info [agora.consensus.ValidatorSet] — Invalid pre-image data: The pre-image has a invalid hash value. Pre-image: { enroll_key: 0xb20da9cfbda971f3f573f55eabcd677feaf12f7948e8994a97cdf9e570799b71631e87bb9ebce0d6a402275adfb6e365fdb72139c18559a10df0e5fe4bae08eb, hash: 0x148006017980424589fc1a7f360f815ef1bcce71a3bd0b581f7a126a57449cb058bba5eca3642cac3e93c15ebd2f2d54d206e6ee3c7fc06b8a59e597d5e02840, distance: 11 }

 

JSON-Schemaを使用してJSONデータの検証#55

 

Image for post

当初は、JSONデータプロパティのみが検証されます。より標準化された方法を使用する必要がありました。 JSONデータを検証する場合、検証は標準的な方法で行う必要があります

定義は次のとおりです。

  • JSON-Schemaを使用してインターフェースを自動的に生成します。
  • インターフェイスを使用してJSONデータを検証する関数を作成します。
  • すべてのソースに新しい検証方法を適用します。

最近のPRがマージされたときに自動的に生成されるSDKドキュメントを含むWebページを追加する#22

この機能は自明です。アクセスと保守が簡単なドキュメントを作成する必要がありました。

 

あなたはここでドキュメントを見ることができます:
https://bpfkorea.github.io/boa-sdk-ts/classes/boaclient.html

 

Block Storage処理にDBトランザクションを適用する#51

f:id:suppershushiio:20200815074057p:plain

この拡張機能は、ブロック、トランザクション、または登録の保存中にエラーが発生した場合に修正するためのもので、元帳の実際のデータと一致しない可能性があります。たとえば、ブロックデータのみが存在する場合です。この場合、ロールバックを実行し、テーブルに復元する必要があります。

Typescript SDK開発の詳細については、Githubリポジトリをご覧ください。

https://github.com/bpfkorea/boa-sdk-ts

 

継続的な開発

  • プール内のトランザクション数に基づいてブロックの作成から移行#1004
  • クォーラムバランシングの設計と実装#240
  • ノード構成とブロックストレージの整合性がチェックされない#1006
  • バリデーターが期限切れ/廃止されたバリデーター(テストケース)に接続しようとしてスタックする場合がある#854