# Cardano Node 1.34.0

{% embed url="<https://github.com/input-output-hk/cardano-node/releases/tag/1.34.0>" %}

Nodeバージョン1.34では、ステイクプールオペレーターやその他のユーザーにとって有益な、以下のような重要な新機能が追加されています。

* 新しいトレースメカニズム
* ローカルのmempoolを問い合わせる新しいコマンド
* ステークプールオペレーターにリーダーシップスケジュールを提供する新しい
* ステークプールの運用証明書の有効性を確認するコマンドを追加（KES期間の確認も含む）
* トランザクションビルドコマンドでCBORエンコーディングをサポート
* トランザクションのボディを元帳に準拠したCDDL形式で出力するオプション
* Plutusスクリプトの実行コストを計算するためのオプション
* インクリメンタル・トランザクション署名

また、多くの安定性の向上とPlutusスクリプトのパフォーマンスの向上が含まれています。

### 既知の問題点

同期時間の増加を避けるため、Windowsユーザーはノードバージョン1.34.0にアップグレードしないことをお勧めします。代わりに、ノード1.33.0を継続して実行することをお勧めします。今後のリリースでは、Windowsに特有のこの問題に対処する予定です。

## 技術仕様

<details>

<summary>Minimum System Requirements</summary>

* 2 コア以上のIntelかAMD x86プロセッサで1.6GHz以上 (ステークプール、リレーノードは2GHz 以上)
* 12GBのRAM
* 50GBのディスク空きスペース

</details>

<details>

<summary>Platforms</summary>

* Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
* Windows 64-bit (8.1, 10, 11)
* MacOS 10.13, 10.14, 10.15, 11

</details>

**Supported roles**

| Platform | Block Production | Relay | Client (Desktop) |
| -------- | ---------------- | ----- | ---------------- |
| Linux    | ✔️               | ✔️    | ✔️               |
| Windows  | ❌                | ❌     | ✔️               |
| MacOS    | ❌                | ❌     | ✔️               |

## ドキュメンテーション

* [Cardano Node documentation](https://docs.cardano.org/projects/cardano-node/)
* [Cardano CLI](https://github.com/input-output-hk/cardano-node/blob/1.34.0/cardano-cli/README.md)
* [Internal API docs for ledger, consensus and network](https://input-output-hk.github.io/ouroboros-network/)
* [Compatibility matrix](https://docs.cardano.org/tools/comp-matrix)

## 変更履歴

<details>

<summary>ノード</summary>

* IPC経由のシャットダウンと指定スロット到達時のシャットダウンのロジックを分離。 ([#3320](https://github.com/input-output-hk/cardano-node/pull/3320), [#3508](https://github.com/input-output-hk/cardano-node/pull/3508))
* Plutusスクリプトの認証と引き出しに関するテスト ([#3318](https://github.com/input-output-hk/cardano-node/pull/3318))
* 各種ドキュメントを更新 ([#2875](https://github.com/input-output-hk/cardano-node/pull/2875), [#2884](https://github.com/input-output-hk/cardano-node/pull/2884), [#2839](https://github.com/input-output-hk/cardano-node/pull/2839), [#2904](https://github.com/input-output-hk/cardano-node/pull/2904), [#3476](https://github.com/input-output-hk/cardano-node/pull/3476), [#3482](https://github.com/input-output-hk/cardano-node/pull/3482), [#3486](https://github.com/input-output-hk/cardano-node/pull/3486), [#3500](https://github.com/input-output-hk/cardano-node/pull/3500), [#3502](https://github.com/input-output-hk/cardano-node/pull/3502), [#3542](https://github.com/input-output-hk/cardano-node/pull/3542), [#3553](https://github.com/input-output-hk/cardano-node/pull/3553), [#3573](https://github.com/input-output-hk/cardano-node/pull/3573), [#3603](https://github.com/input-output-hk/cardano-node/pull/3603))
* `cardano-node` に新しいトレースシステムを統合([#3450](https://github.com/input-output-hk/cardano-node/pull/3450), [#3496](https://github.com/input-output-hk/cardano-node/pull/3496), [#3497](https://github.com/input-output-hk/cardano-node/pull/3497), [#3498](https://github.com/input-output-hk/cardano-node/pull/3498), [#3570](https://github.com/input-output-hk/cardano-node/pull/3570))
* ステークレデンシャル履歴ツールに、プロトコルのバージョンが追加表示されるようになりました。([#3409](https://github.com/input-output-hk/cardano-node/pull/3409))

</details>

<details>

<summary>Consensus</summary>

</details>

<details>

<summary>Ledger</summary>

</details>

<details>

<summary>Network</summary>

* ローカルmempoolを問い合わせるための新しいミニプロトコルを追加 ([#3404](https://github.com/input-output-hk/ouroboros-network/pull/3404))
* ミニプロトコルがタイムアウトした場合、MUXを停止するようにしました。これは、ピアがコールドに降格した場合に発生する可能性があり、ピアが再び昇格した場合にミニプロトコルが不明な状態で長引く可能性があります。([#3575](https://github.com/input-output-hk/ouroboros-network/pull/3575), [#3580](https://github.com/input-output-hk/ouroboros-network/pull/3580))
* ブロックフェッチにおいて、ピアIDに基づくピアの順序付けを回避。ピア ID に基づいて順序付けすると、すべてのノードが同じ 2 番目、3 番目のピアを選択することになりがちです。現在は、ノードローカルなランダムな順序に基づいています。([#3535](https://github.com/input-output-hk/ouroboros-network/pull/3535))

</details>

<details>

<summary>Cardano-cli</summary>

* アップデート提案のレンダリングをより美しくする。 ([#3208](https://github.com/input-output-hk/cardano-node/pull/3208))
* `transaction build` と `transaction build-raw` コマンドで、CBORエンコードされたブロブのサポートを追加しました。 ([#3483](https://github.com/input-output-hk/cardano-node/pull/3483))
* `leadership-schedule` の実装。これは、現在と次のエポックにおけるステーク・プールのリーダーシップ・スケジュールを計算することができます。そのステイクプールの VRF 署名キーにアクセスする必要があります。([#3464](https://github.com/input-output-hk/cardano-node/pull/3464), [#3494](https://github.com/input-output-hk/cardano-node/pull/3494))

  ```
  > cardano-cli query leadership-schedule \
     --testnet-magic 42 \
     --genesis example/shelley/genesis.json \
     --stake-pool-id  pool12t0y7agkqct89pf00eeytkvfjlquv76tjy27duannan9w63ckxv \
     --vrf-signing-key-file example/node-pool1/shelley/vrf.skey
     --current

     SlotNo                          UTC Time
     --------------------------------------------------------
     4073                   2021-12-29 17:26:54.998001755 UTC
     4126                   2021-12-29 17:27:00.298001755 UTC
     4206                   2021-12-29 17:27:08.298001755 UTC
     4256                   2021-12-29 17:27:13.298001755 UTC
     4309                   2021-12-29 17:27:18.598001755 UTC
     4376                   2021-12-29 17:27:25.298001755 UTC
     4423                   2021-12-29 17:27:29.998001755 UTC
     4433                   2021-12-29 17:27:30.998001755 UTC
  ```
* CLIは、 `transaction build` と `transaction build-raw` コマンドで元帳に準拠したCDDLでトランザクションボディを出力することをサポートするようになりました。これは、`--cddl-format` フラグを使用して指定します。([#3505](https://github.com/input-output-hk/cardano-node/pull/3505))
* CLIで`kes-period-info`コマンドを実装。これは、運用証明書が正しいかどうかをチェックするものです。チェックされます。

  * カウンターは、ノードのプロトコル状態にあるものと一致します
  * 運用証明書のKES期間が正しいこと (現在のスロットに基づき). ([#3459](https://github.com/input-output-hk/cardano-node/pull/3459), [#3572](https://github.com/input-output-hk/cardano-node/pull/3572), [#3599](https://github.com/input-output-hk/cardano-node/pull/3599))

  ```
  > cardano-cli query kes-period-info --testnet-magic 42  \
    --op-cert-file example/node-pool1/shelley/node.cert
  ✓ The operational certificate counter agrees with the node protocol state counter
  ✓ Operational certificate's kes period is within the correct KES period interval
  {
      "qKesNodeStateOperationalCertificateNumber": 6,
      "qKesCurrentKesPeriod": 404,
      "qKesOnDiskOperationalCertificateNumber": 6,
      "qKesRemainingSlotsInKesPeriod": 3760228,
      "qKesMaxKESEvolutions": 62,
      "qKesKesKeyExpiry": "2022-03-20T21:44:51Z",
      "qKesEndKesInterval": 434,
      "qKesStartKesInterval": 372,
      "qKesSlotsPerKesPeriod": 129600
  }
  ```
* CLIで担保入力をよりきれいに表示するようにしました。([#3463](https://github.com/input-output-hk/cardano-node/pull/3463))
* `transaction sign` コマンドは、`--tx-file`を介して署名済みのトランザクションを提供することにより、インクリメンタル署名を可能にしました。これにより、より簡単にトランザクションに複数の署名を追加できるようになりました。([#3549](https://github.com/input-output-hk/cardano-node/pull/3549))
* `transaction build` コマンドに、含まれるスクリプトのコストを計算するオプション (`--calculate-plutus-script-cost`) が追加されました。([#3589](https://github.com/input-output-hk/cardano-node/pull/3589))

  ```
  cardano-cli transaction build \
  --alonzo-era \
  --cardano-mode \
  --testnet-magic "$TESTNET_MAGIC" \
  --change-address "$utxoaddr" \
  --tx-in "$plutusutxotxin" \
  --tx-in-collateral "$txinCollateral" \
  --tx-out "$dummyaddress+10000000" \
  --tx-in-script-file "$plutusscriptinuse" \
  --tx-in-datum-file "$datumfilepath"  \
  --protocol-params-file "$WORK/pparams.json" \
  --tx-in-redeemer-file "$redeemerfilepath" \
  --calculate-plutus-script-cost "$WORK/create-datum-output.scriptcost"

  > cat $WORK/create-datum-output.scriptcost
  [
    {
        "executionUnits": {
            "memory": 1700,
            "steps": 476468
        },
        "lovelaceCost": 133,
        "scriptHash": "67f33146617a5e61936081db3b2117cbf59bd2123748f58ac9678656"
    }
  ]
  ```

</details>

<details>

<summary>Cardano-api</summary>

* `lovelaceToTxOutValue` の公開([#3381](https://github.com/input-output-hk/cardano-node/pull/3381))
* 現在のエポックと次のエポックのリーダーシップスロットをそれぞれ取得するために、2つの機能を実装: `currentEpochEligibleLeadershipSlots` と `nextEpochEligibleLeadershipSlots` ([#3464](https://github.com/input-output-hk/cardano-node/pull/3464), [#3494](https://github.com/input-output-hk/cardano-node/pull/3494))
* 他のソフトウェアで C ライブラリとして cardano ノードを使用することをサポートするため`capi` ライブラリの追加 ([#3501](https://github.com/input-output-hk/cardano-node/pull/3501))
* `fromShelleyAddr`は、時代を決定するために明示的な`ShelleyBasedEra`パラメータを取るようになりました。以前の動作（暗黙の`IsShelleyBasedEra`制約付き）は、`fromShelleyAddrIsSbe`で取得することができます。 ([#2253](https://github.com/input-output-hk/cardano-node/pull/2253), [#3606](https://github.com/input-output-hk/cardano-node/pull/3606))

</details>

<details>

<summary>Plutus</summary>

* Plutusスクリプトのパフォーマンス向上

</details>

<details>

<summary>Deprecated features</summary>

</details>

<details>

<summary>Fixed issues</summary>

* CLIのヘルプテキストにあるスペルミスを修正。([#3499](https://github.com/input-output-hk/cardano-node/pull/3499))
* 降格したホットピアーに関して見られる、偽のアサーションの失敗を修正しました。 ([#3588](https://github.com/input-output-hk/ouroboros-network/pull/3588))

</details>
