リリースノート - v0.79.1
v0.79.1
Section titled “v0.79.1”タイトル: 台帳の正確性、状態クエリ、インストール、運用の信頼性を改善
日付: 2026-10-07
バージョン: v0.79.1
リリース: v0.79.1
Dingo v0.79.1では、台帳検証、過去の状態クエリ、ネットワークピアの選択、データベース復旧、Mithrilインポート、リリースのインストールを改善しました。APIエラー応答、ガバナンスの整合性チェック、運用メトリクスも強化しました。
推奨ネットワーク互換性 ⚠️
Section titled “推奨ネットワーク互換性 ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
メタデータと相互運用性
Section titled “メタデータと相互運用性”- 強化しました: CBORキーの順序に左右されない決定的なデコードでメタデータ処理を検証し、Blockfrostのページネーションとraw-CBORまたはJSONが利用できない場合の動作を安定させました。
- 拡充しました: 深さのあるPlutusDataをCBORマッピング、protobufのバイナリ、JSON表現間で往復する検証を拡充しました。
- 改善しました: MCPスキーマ検出に5秒の最小起動タイムアウトを適用し、深くネストしたConway redeemerの永続化検証も拡充しました。
台帳と状態クエリ
Section titled “台帳と状態クエリ”- 修正しました: Dijkstraトランザクション検証で、ガバナンス、証明書、エンティティのルールを宣言上有効なトランザクションだけに適用し、宣言上無効なトランザクションには構造と担保のチェックを引き続き適用します。
- 更新しました: Dijkstraの報酬とステークの再構築、prototype closureコンテキスト、genesisプールデポジットの記録、報酬ステーク計算バージョン3を更新しました。計算済み状態が古い既存データベースでは、リプレイまたは信頼できる台帳状態のインポートが必要です。
インストール
Section titled “インストール”- 導入しました:
@blinklabs/dingoのプラットフォームネイティブなリリースバイナリを、SHA-256検証、アトミックインストール、Nodeラッパーによる引数・シグナル・終了コードの転送、Node>=22要件、対応OSとCPUのメタデータ、npm公開に対応させました。
データベース操作
Section titled “データベース操作”- 削減しました: Mithrilの一括インポート中にメタデータ書き込みフェーズを直列化し、スケジュール済みチェックポイントを抑制または再試行することで、SQLiteの書き込み競合を削減しました。
APIの動作
Section titled “APIの動作”- 明確化しました: Blockfrost HTTP応答で、文書化済みでも未対応の操作はJSON
501、不正なメソッドはAllow付きJSON405を返し、不明なパスは404のままにしました。
ネットワークとピアガバナンス
Section titled “ネットワークとピアガバナンス”- 強化しました: ステーク加重の台帳リレー検出、ピアスコアリング、
MultiHostNameのSRV解決、ステーク照会に失敗した場合の正常な処理に対応しました。 - 必須化しました: チェーン選択で裏付けのあるGenesisフロンティアを要求し、
dingo_equivocation_total{pool_id,self_key}メトリクスを持つ同一プールのエクイボケーション検出に上限を設けました。
スナップショット管理
Section titled “スナップショット管理”- 追加しました:
--db-snapshot-max-commit-pauseとDINGO_DB_LIFECYCLE_SNAPSHOT_MAX_COMMIT_PAUSEでスナップショットのコミット一時停止上限を設定できるようにし、メトリクスとタイムアウト後のクリーンアップを追加しました。
- 改良しました: LocalStateQueryの
GetUTxOByAddress、GetAccountState、GetStakeSnapshotsが取得済みポイントを使用し、利用できない過去のポイントをAcquire時に拒否するようにしました。 - 保護しました: 取得済みのLocalStateQueryポイントをプルーニングから保護し、要求したポイントがすでに利用できない場合は
AcquireFailurePointTooOldを返すようにしました。 - 最適化しました: 報酬とライブステークの再構築前にSQLiteのプランナー統計を更新し、トランザクションテーブルの全走査ではなくインデックスを使って検索できるようにしました。
プロトコルと検証
Section titled “プロトコルと検証”- 更新しました:
gouroborosをv0.210.0、plutigoをv0.8.0に更新し、Byron入力インデックスを65535以下に制限し、MIR検証を改善しました。また、Conway genesisがない場合やインポートしたガバナンスアクションが発効していない場合に警告します。 - 同期しました: ノードがリクエストを処理している間のデータ競合を防ぐため、セキュリティパラメータの読み取りを台帳更新と同期しました。
ガバナンスの整合性
Section titled “ガバナンスの整合性”- 安定化しました: スナップショット一時停止メトリクスの検証を安定させ、運用測定の一貫性を高めました。
- 検証しました: Mithrilのインポート、起動、エポック集計でpurpose rootを検証し、rootがないか無効な場合は
ErrMissingEnactedRootを返して検証を回避しないようにしました。
コンフォーマンスと復旧
Section titled “コンフォーマンスと復旧”- 固定しました: devnetコンフォーマンスの台帳サンプルを両方のプロデューサーで1つの取得済みポイントに固定し、対象エポック境界を適用しました。
- 整合させました: LocalStateQueryの
GetStakePoolsとGetStakeDelegDepositsが取得済みポイントの状態を返すようにしました。 - 保護しました: コミットタイムスタンプの復旧巻き戻しと孤立データのクリーンアップを直列化し、削除エラー時は処理を安全側で停止し、巻き戻し後も有効な場合だけ継続監査状態を保持します。
Docs authored by Doc Holiday