コンテンツにスキップ

リリースノート - v0.195.0

タイトル: ガバナンス、ブロック取得、トランザクション検証を改善

日付: 2026年8月24日

バージョン: v0.195.0

このリリースでは、Conway ガバナンスの検証を強化し、BlockFetch のリクエストを任意でパイプライン処理できるようにし、トランザクション検証を改善します。また、コンセンサスの動作と依存関係を更新します。

  • 改善 Conway ガバナンス検証: ハードフォークの継承関係と提案の祖先関係を検証し、不正な関係を拒否するようになりました。同じトランザクション内の propose と vote のアクションを正しく解決し、DRep、憲法委員会、ステークプールオペレーター、Bootstrap の制限に解決済みアクションの内容を使用します。ステークプールオペレーターは、セキュリティグループ外の ParameterChange アクションに投票できなくなりました。オプションのガバナンスアクション内容、purpose root の状態、SecurityGroupFields() により、これらの検証に必要な状態を取得できます。 詳細を見る

  • 追加 BlockFetch リクエストのパイプライン処理: Client.RequestRange(ctx, RangeRequest)Config.RequestPipelining により、クライアントで範囲リクエストの同時処理を有効にできます。FIFO のリクエストは順番どおりにレスポンスを受け取り、それぞれ 1 回の Config.RangeDoneFunc コールバックが実行されます。コンテキスト対応の受付制御は、予想されるシリアライズ後のバイト数でリクエスト量を制限します。Config.MaxInFlightBytes のデフォルトは 9,011,200 バイト(100 x 88 KiB)です。パイプライン処理を無効にした場合は、従来どおり同時に 1 件だけリクエストします。バッチにブロックがない場合、GetBlock は公開された blockfetch.ErrNoBlocks エラーを返します。また、Protocol.SendMessageContextAllowPipelinedSend により、コンテキスト対応のパイプライン送信を利用できます。 詳細を見る

  • 集約 Plutus スクリプト検証: 共有のトランザクション入力および Plutus スクリプト用ヘルパーが Conway と Dijkstra の検証で利用できるようになりました。ネイティブおよび非 Plutus の参照スクリプトは利用可能な Plutus スクリプトに含まれなくなり、Dijkstra のフォールバックでは解決済み入力を再利用して不要な検索を減らします。 詳細を見る

  • 変更 Praos の深いフォーク選択: 深いフォークでは、設定された Genesis ウィンドウ内の整数ブロック数を比較し、正規の Genesis density-first 動作に従って選択するようになりました。浅いフォークでは通常の選択を継続します。ChainTip インターフェースは density の代わりに BlocksInWindow を公開し、selector API は ForkPoint とブロック単位のロールバック値を使用します。ComputeGenesisWindow は切り上げ除算を使用し、不正な係数を検出します。ChainTip を提供する実装と selector API の呼び出し側は、アップグレード前に新しいフィールドとロールバック値へ移行する必要があります。 詳細を見る
  • 修正 Babbage の Plutus V1 inline datum 検証: トランザクションの用途が必要とするスクリプトに限って inline datum の制限を適用するようになりました。解決済みの消費入力、参照入力、生成出力を調べ、Plutus V4 の witness も含めます。入力解決エラーの重複報告も防ぎます。 詳細を見る

  • 許容 レガシー入力の重複: Shelley から Babbage までのタグなし入力セットでは、重複するメンバーをまとめつつ元の CBOR バイト列を保持するようになりました。タグ 258 の Alonzo および Babbage フィールドでは引き続き重複を拒否し、明示的にタグ付けされたセットの検証を維持します。 詳細を見る

  • 更新 CBOR デコード: ルートモジュールと 8 つのサンプルモジュールが github.com/fxamacker/cbor/v2 v2.9.3 を使用するようになりました。特定の CBOR 値を time.Time にデコードする際に発生する可能性のあるパニックを緩和します。プロダクションコードは変更していません。 詳細を見る

  • 統一 Go フォーマット: フォーマットが golangci-lint v2.13.0 の要求する gofumpt ルールに一致するようになりました。実行時の動作に変更はありません。 詳細を見る

  • 刷新 サンプルのテスト依存関係: examples/ping モジュールが github.com/stretchr/testify v1.12.1go.yaml.in/yaml/v3 v3.0.5 を使用するようになりました。ソースと API の動作に変更はありません。 詳細を見る

  • 整合 protobuf 依存関係: ルートモジュールと 8 つのサンプルモジュールが google.golang.org/protobuf v1.36.12 を使用するようになり、置換を使用するサンプルのビルドで依存関係が一貫して解決されます。API の動作に変更はありません。 詳細を見る

  • 更新 ルートのテスト依存関係: ルートモジュールが github.com/stretchr/testify v1.12.1 と更新された間接 YAML および推移的依存関係を使用するようになりました。プロジェクト API に変更はありません。 詳細を見る



Doc Holiday logo

Docs authored by Doc Holiday

ページを編集

最終更新日: