Skip to content

Commit

Permalink
Merge pull request #943 from Concordium/mainnet-632-release
Browse files Browse the repository at this point in the history
Mainnet 6.2.3 node release
  • Loading branch information
dg-concordium authored Dec 5, 2023
2 parents b3240c6 + a043ba9 commit ec51221
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 34 deletions.
6 changes: 3 additions & 3 deletions source/mainnet/net/installation/downloads.rst
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ For the system requirements to run a node, see :ref:`System requirements to run

.. dropdown:: Ubuntu |mainnet-node-version|

To run a node on a server with Ubuntu, `download a Mainnet Debian package <https://distribution.mainnet.concordium.software/deb/concordium-mainnet-node_6.1.7-0_amd64.deb>`_.
To run a node on a server with Ubuntu, `download a Mainnet Debian package <https://distribution.mainnet.concordium.software/deb/concordium-mainnet-node_6.2.3-0_amd64.deb>`_.

- SHA256 checksum of the download: |node-deb-package-checksum|

Expand All @@ -223,13 +223,13 @@ For the system requirements to run a node, see :ref:`System requirements to run

.. dropdown:: Windows |mainnet-node-version|

To run a node on Windows, `download a Mainnet Windows Installer package <https://distribution.concordium.software/windows/Signed/Node-6.1.7-0.msi>`_. **Please be aware that you should backup your configuration, as the installer will overwrite the current configuration with a standard configuration.**
To run a node on Windows, `download a Mainnet Windows Installer package <https://distribution.concordium.software/windows/Signed/Node-6.2.3-0.msi>`_. **Please be aware that you should backup your configuration, as the installer will overwrite the current configuration with a standard configuration.**

To learn how to run a node on Windows, see :ref:`Run and manage a node on Windows <run-node-windows>`.

.. dropdown:: Mac |mainnet-node-version|

To run a node on macOS, `download a Mainnet macOS installer package <https://distribution.concordium.software/macos/signed/concordium-node-6.1.7-1.pkg>`_.
To run a node on macOS, `download a Mainnet macOS installer package <https://distribution.concordium.software/macos/signed/concordium-node-6.2.3-0.pkg>`_.

To learn how to run a node on Mac, see :ref:`Run and manage a node on macOS <run-node-macos>`.

Expand Down
10 changes: 10 additions & 0 deletions source/mainnet/net/installation/previous-node-downloads.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,16 @@ Ubuntu - Mainnet
Default GRPC port is set to 20000
Default listen port is set to 8888

`6.1.7 <https://distribution.mainnet.concordium.software/deb/concordium-mainnet-node_6.1.7-0_amd64.deb>`__

- Verification instructions

In a terminal:

#. Navigate to the download.
#. Paste the following into the terminal: $sha256sum concordium-testnet-node_6.1.7-0_amd64.deb
#. Verify that the output matches the SHA256 checksum ``fb9e4dd31bff676b2f06bed15f66d12b5bc4fd19f815051067dc32348d9447b6``

`6.0.4 <https://distribution.mainnet.concordium.software/deb/concordium-mainnet-node_6.0.4-0_amd64.deb>`__

- Verification instructions
Expand Down
65 changes: 37 additions & 28 deletions source/mainnet/net/release-notes/release-notes-lp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -616,65 +616,74 @@ Nodes
=====

.. _rn-node-mainnet:
.. _604-mainnet:

Mainnet
-------

.. _604-mainnet:
November 28, 2023

October 23, 2023
Version 6.2.3 removes the V1 gRPC API. This removes the configuration options ``CONCORDIUM_NODE_RPC_SERVER_PORT``, ``CONCORDIUM_NODE_RPC_SERVER_ADDRESS``, ``CONCORDIUM_NODE_RPC_SERVER_TOKEN``, ``CONCORDIUM_NODE_DISABLE_RPC_SERVER_NODE_ENDPOINTS`` and their command line equivalents. An additional health-check service was also added to the V2 GRPC API. This service conforms to the `standard GRPC health service API <https://github.com/grpc/grpc-proto/blob/master/grpc/health/v1/health.proto>`__.

Concordium Node 6.1.7 contains bug fixes and improvements. **This is the last release of the node that has support for V1 gRPC API.**
As part of the tokenomics changes the node has new configuration options that use the new terminology. The existing options using the legacy terminology are still supported, however they are hidden.

**Improvements**
A ``DryRun`` endpoint has also been that allows simulating the execution of transactions.

- Out-of-band catchup is now enabled by default on all platforms.
The account map is now kept solely on disk in a separate LMDB database and it is no longer part of the internal block state database. This change results in significantly reduced resource usage for the node.

- The node remembers peers across restarts. When starting up it will try to connect to stored peers in addition to any supplied bootstrap and given nodes. Use the new flag ``--clear-persisted-peers`` (environment variable ``CONCORDIUM_NODE_CLEAR_PERSISTED_PEERS``) to clear stored peers on startup.
.. dropdown:: Previous releases

- If the node is `configured with TLS <https://github.com/Concordium/concordium-node/blob/main/docs/grpc2.md#grpc-api-v2>`_, then `CONCORDIUM_NODE_COLLECTOR_GRPC_HOST` must be configured such that it uses the domain of the certificate, for example, ``CONCORDIUM_NODE_COLLECTOR_GRPC_HOST=https://example.concordium-node.io:20000``.
.. dropdown:: 6.1.7 - October 23, 2023

- Exposed the health check service via grpc-web when grpc-web is enabled.
Concordium Node 6.1.7 contains bug fixes and improvements. **This is the last release of the node that has support for V1 gRPC API.**

- Banned peers are no longer reset on startup by default. The flag ``--no-clear-bans`` has been renamed to ``--clear-bans``; when set it will clear the banned peers on startup.
**Improvements**

- Add debug-level logging when a round is advanced, either due to a quorum certificate or a timeout certificate.
- Out-of-band catchup is now enabled by default on all platforms.

- Removed the concept of pending blocks.
- The node remembers peers across restarts. When starting up it will try to connect to stored peers in addition to any supplied bootstrap and given nodes. Use the new flag ``--clear-persisted-peers`` (environment variable ``CONCORDIUM_NODE_CLEAR_PERSISTED_PEERS``) to clear stored peers on startup.

- If the node is `configured with TLS <https://github.com/Concordium/concordium-node/blob/main/docs/grpc2.md#grpc-api-v2>`_, then `CONCORDIUM_NODE_COLLECTOR_GRPC_HOST` must be configured such that it uses the domain of the certificate, for example, ``CONCORDIUM_NODE_COLLECTOR_GRPC_HOST=https://example.concordium-node.io:20000``.

- Exposed the health check service via grpc-web when grpc-web is enabled.

- Banned peers are no longer reset on startup by default. The flag ``--no-clear-bans`` has been renamed to ``--clear-bans``; when set it will clear the banned peers on startup.

- Add debug-level logging when a round is advanced, either due to a quorum certificate or a timeout certificate.

- ``GetPoolInfo`` now also returns the commission rates for the current reward period.
- Removed the concept of pending blocks.

- Added a number of endpoints to the GRPCV2 API, including:
- ``GetPoolInfo`` now also returns the commission rates for the current reward period.

- ``GetBakersRewardPeriod``: provided a block, then it returns information about bakers for the reward period of the block.
- Added a number of endpoints to the GRPCV2 API, including:

- ``GetBlockCertificates``: provided a block, then it returns quorum certificate, timeout certificate, and epoch finalization entry contained in the block (where present).
- ``GetBakersRewardPeriod``: provided a block, then it returns information about bakers for the reward period of the block.

- ``GetBakerEarliestWinTime``: provided a baker ID, it returns the earliest time at which the node projects that the baker could be required to bake a block.
- ``GetBlockCertificates``: provided a block, then it returns quorum certificate, timeout certificate, and epoch finalization entry contained in the block (where present).

- ``GetFirstBlockEpoch``: returns the block hash of the first block in a given epoch.
- ``GetBakerEarliestWinTime``: provided a baker ID, it returns the earliest time at which the node projects that the baker could be required to bake a block.

- ``GetWinningBakersEpoch``: returns a list of the bakers that won rounds in a specified (finalized) epoch. This only supports consensus version 1.
- ``GetFirstBlockEpoch``: returns the block hash of the first block in a given epoch.

**Fixes**
- ``GetWinningBakersEpoch``: returns a list of the bakers that won rounds in a specified (finalized) epoch. This only supports consensus version 1.

- An incorrect ``peer_bucket_size`` metric calculation exposed by the bootstrapper was fixed. What was counted was not the number of peers in the bucket, but rather, roughly, how many times peers that are in the bucket have reconnected.
**Fixes**

- Fixed a bug where the block state hash was not returned properly for the genesis block.
- An incorrect ``peer_bucket_size`` metric calculation exposed by the bootstrapper was fixed. What was counted was not the number of peers in the bucket, but rather, roughly, how many times peers that are in the bucket have reconnected.

- Fixed a bug where credential registration IDs for genesis accounts were not correctly recorded. As a result, the index of accounts by credential IDs was incorrect if the chain was started from genesis by node versions 5.1.3 up to and including 6.0. If a chain was started by an older node version and then the node was upgraded, the index is loaded correctly. This index is used when checking for duplicate credential registration IDs, and when looking up an account via a credential registration ID.
- Fixed a bug where the block state hash was not returned properly for the genesis block.

- Fixed a bug in the ``InvokeInstance`` endpoint where the amount sent was used incorrectly. The consequence was that in some cases the calls would fail with an error indicating insufficient amount on the account where the amount was sufficient for the transaction.
- Fixed a bug where credential registration IDs for genesis accounts were not correctly recorded. As a result, the index of accounts by credential IDs was incorrect if the chain was started from genesis by node versions 5.1.3 up to and including 6.0. If a chain was started by an older node version and then the node was upgraded, the index is loaded correctly. This index is used when checking for duplicate credential registration IDs, and when looking up an account via a credential registration ID.

- Applied fix for processing of chain parameter updates when they occur at the same time retroactively to all protocol versions. This may break compatibility with any local/private chains on which the bug occurs.
- Fixed a bug in the ``InvokeInstance`` endpoint where the amount sent was used incorrectly. The consequence was that in some cases the calls would fail with an error indicating insufficient amount on the account where the amount was sufficient for the transaction.

- Fixed a bug in how the last timeout certificate is recovered at start-up.
- Applied fix for processing of chain parameter updates when they occur at the same time retroactively to all protocol versions. This may break compatibility with any local/private chains on which the bug occurs.

- Fixed the behavior of the block last finalized pointer in the ``GetBlockInfo`` so that it consistently returns the last finalized block at the time the block was baked.
- Fixed a bug in how the last timeout certificate is recovered at start-up.

- Added load shedding for gRPC v2. This helps protect the node in case of high number of concurrent requests since they are now dropped immediately as opposed to queued.
- Fixed the behavior of the block last finalized pointer in the ``GetBlockInfo`` so that it consistently returns the last finalized block at the time the block was baked.

.. dropdown:: Previous releases
- Added load shedding for gRPC v2. This helps protect the node in case of high number of concurrent requests since they are now dropped immediately as opposed to queued.

.. dropdown:: 6.0.4 - September 11, 2023

Expand Down
6 changes: 3 additions & 3 deletions source/mainnet/variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
.. |cargo-linux-checksum| replace:: ea3f603e2a921181cdf323604066444378a955c55e82b206a7d169bf636fa75d

.. Node version variables
.. |mainnet-node-version| replace:: 6.1.7
.. |mainnet-node-version| replace:: 6.2.3
.. |testnet-node-version| replace:: 6.2.3

.. Node debian package verification variables
.. |node-deb-package| replace:: concordium-mainnet-node_6.1.7-0_amd64.deb
.. |node-deb-package-checksum| replace:: fb9e4dd31bff676b2f06bed15f66d12b5bc4fd19f815051067dc32348d9447b6
.. |node-deb-package| replace:: concordium-mainnet-node_6.2.3-0_amd64.deb
.. |node-deb-package-checksum| replace:: 809dffd12cb075b374f16a36f35245cb5c928941745c6eb2598bcf61a2b60aa6

.. Mainnet genesis block verification variables
.. |mainnet-genesis-block| replace:: genesis.dat
Expand Down

0 comments on commit ec51221

Please sign in to comment.