リリースノート - v0.204.2
v0.204.2
Section titled “v0.204.2”タイトル: ピア処理とプロトコル検証を改善
バージョン: v0.204.2
v0.204.2 では、LocalStateQuery の応答処理を改善し、CBOR と Point の検証を強化し、不完全なアドレスに対する接続の形式を安全にし、無効なトランザクション確認が状態を進めることを防ぎます。
-
拡張 LocalStateQuery の応答処理: アプリケーションは
ouroboros.WithMuxerSegmentReadTimeoutまたはmuxer.NewWithSegmentReadTimeoutを使用して muxer セグメントの読み取りタイムアウトを上書きできます。値が<= 0の場合、期限は無効になります。また、ProtocolConfig.MaxReadBufferSizeまたはlocalstatequery.WithMaxReadBufferSizeを使用して、デフォルトの 16 MB の再構成上限を上書きできます。実装はキューに入ったセグメントを状況に応じて排出し、バッファーの増加を制限し、シャットダウンを監視し、競合状態なしで現在の era のデータを読み取ります。信頼できる低速なピアは、早期切断なしで長時間実行する応答や大きな複数セグメントの応答をサポートできます。 -
更新 Plutus の一般コンストラクターエンコーディング: 一般コンストラクターは
[constructor_number, fields]を含む CBOR タグ102を使用するようになりました。デコーダーは従来のタグ101と、プラットフォームのuintの範囲を超えるコンストラクター番号を拒否し、コンパクトな代替形式は維持します。アプリケーションでは、タグ101のコンストラクターをタグ102として再エンコードする必要があります。 -
強化 Cardano Point の検証: デコーダーは、要素数が 0 または 2 の確定配列のみを受け入れます。2 要素の値には
uint64のスロットと、正確に 32 バイトのハッシュが含まれている必要があります。デコーダーは、後続データ、非確定配列、タグ付きの値、形式が不正な入力を拒否し、検証に失敗しても Point の値を変更しません。 -
安全化 接続の形式:
ConnectionId.String()は、ローカルまたはリモートのアドレスがない場合に<nil>と表示し、local<->remoteの形式を維持するようになりました。一部だけ設定された接続 ID も、パニックを起こさずに形式化されます。 -
防止 トランザクション確認の水増し: プロトコルは、要求した数を超える識別子を含む
ReplyTxIds応答を、ackCountを進める前にprotocol.ErrProtocolViolationRequestExceededで拒否します。ゼロ件、要求数と一致する応答、部分的な応答は引き続きサポートされます。
推奨ネットワーク互換性 ⚠️
Section titled “推奨ネットワーク互換性 ⚠️”| ネットワーク | 互換性 |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
リリース: v0.204.2
Docs authored by Doc Holiday