Pactus 1.4.0 (Amsterdam) Released

August 1, 2024
Pactus 1.4.0 (Amsterdam) Released

Overview

Pactus Blockchain Version 1.4.0 (Amsterdam) is now available for download. This release includes the following applications:

  • Pactus GUI: The graphical user interface (GUI) for the Pactus node that is suitable for both beginners and experienced users.

  • Pactus Daemon: The command-line interface (CLI) for the Pactus node that is suitable for experienced users.

  • Pactus Shell: The command-line tool that allows users to interact with a Pactus node.

  • Pactus Wallet: The wallet software that allows users to manage their wallet and send transactions without the need to sync the entire blockchain.

Highlights

  • Introduction of Pruned Mode: Starting with version 1.4.0, Pactus now supports Pruned Mode. This feature allows nodes to maintain only the most recent blocks from the last 10 days, significantly reducing storage requirements and speeding up the synchronization process.

  • Node Type Page: The startup assistant now features a page for selecting the Node Type, enabling users to easily choose between a Full Node and a Pruned Node.

  • Import Command: The import command now facilitates the download and integration of pruned snapshots, making it easier to set up nodes with minimal data.

  • Prune Command: The prune command allows users to manually initiate the pruning of old blocks and transactions. This command helps reduce storage size by removing outdated data.

  • Enhanced Security Features: This release includes updates to the firewall, enhancing the validation of gossip and stream messages, which improves the overall security of the network.

  • New gRPC API Enhancements: The gRPC API now includes additional information, such as pruning status and height, providing more data for developers and users.

  • Stability and Performance Improvements: Numerous fixes and optimizations have been made across the platform, including resolving issues with dynamic library dependencies on macOS, addressing syncing issues in Pruned Mode, and fixing a bug in the consensus algorithm on query-proposal message.

Download

To start using Pactus blockchain, download the latest version from the download page and join the Mainnet.

How to Upgrade

If you are running an older version, close it first. Then uninstall the previous version and install the newer version. If you are using the archived version, simply replace it with the new version .

Change log

This version includes several changes and improvements, such as:

Feat

  • cmd: add node type page to the startup assistant (#1431)
  • grpc: adding is-pruned and pruning-height to blockchain info API (#1420)
  • daemon: add import command to download pruned snapshots (#1424)
  • util: file downloader with verify sha256 hash (#1422)
  • sync: define full and prune service (#1412)
  • pip: implement PIP-23 (#1397)
  • firewall: check valid gossip and stream messages (#1402)
  • state: prune block on commit (#1404)
  • core: pruning client by prune command (#1400)
  • store: prune block function (#1399)
  • wallet: add timeout client connection (#1396)
  • add backup tool script (#1373)

Fix

  • consensus: handle query for decided proposal (#1438)
  • gtk: solve dynamic library dependencies and import path on macOS (#1435)
  • cmd: prevent sudden crash on download error (#1432)
  • store: pruning height returns zero when store is not in prune mode (#1430)
  • grpc: add last-block-time to blockchain-info API (#1428)
  • grpc: show negative pruning height when is pruned false (#1429)
  • sync: fix syncing issue on prune mode (#1415)
  • grpc: return error on invalid arguments for VerifyMessage (#1411)
  • network: accept messages originating from self (#1408)
  • change wallet rpc ip to dns address (#1398)
  • pactus-shell: pactus shell support basic auth (#1384)
  • gui: support ctrl+c for interrupt gui (#1385)
  • grpc: add basic auth in swagger header (#1383)

Refactor

  • execution: simplify executors and tests (#1425)

You can find the full list of changes on Github, as well as the source code