Pactus 1.2.0 (Sydney) Released

Overview

Pactus Blockchain Version 1.2.0 (Sydney) 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.

Pactus Version 1.2.0 (Sydney)

Highlights

This version includes some improvements and new features, such as:

  • Clock offset calculation: Adding clock offset check to alert the user if their machine’s time is not synced with the network. See PIP-18: Clock Offset Calculation.
  • Minimum fee: The minimum fee is configurable in this version, with the default set to 0.01. Each validator can decide the minimum fee of transactions they want to include in the block by changing the min_fee value inside the config file.
  • ip blocker: A new option allows nodes to block certain IPs and disconnect from them.
  • rate limit: Nodes can set rate limits for incoming messages, including transactions.
  • wallet manager: The wallet manager allows users to create and manage wallets using gRPC endpoints.

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

  • config: make minimum fee configurable (#1349)
  • apply rate limit for the network topics (#1332)
  • add ipblocker package (#1323)
  • consensus: fast consensus path implementation (#1253)
  • version: add alias to node version (#1281)
  • ntp: add ntp util (#1274)
  • gRPC: add connection info to node info (#1273)
  • gRPC: add only_connected parameter to getNetworkInfo API (#1264)
  • grpc: refactor CreateWallet and add RestoreWallet API endpoint (#1256)
  • add wallet service (#1241)
  • ban attacker validators (#1235)
  • txpool: prevent spamming transactions by defining a minimum value (#1233)
  • reject direct message from non-supporting agents (#1225)

Fix

  • wallet: add public key on get new address (#1350)
  • sync: add IsBannedAddress check in processing connect event (#1347)
  • sync: update latest supporting version (#1336)
  • state: improve node startup by optimizing availability score calculation (#1338)
  • HTTP: add clock offset and connection info to node-info API (#1334)
  • grpc: add stacktrace to locate panic (#1333)
  • consensus: implement PIP-26 (#1331)
  • grpc: improve grpc server and client (#1330)
  • util: add more ntp pool (#1328)
  • jsonrpc: update JSON-RPC Gateway to support headers and improve client registry (#1327)
  • consensus: improve consensus algorithm (#1329)
  • txpool: set fix fee of 0.1 PAC for transactions (#1320)
  • network: add block and transaction topics (#1319)
  • gRPC: prevent concurrent map iteration and map write (#1279)
  • api: add swagger schemes (#1270)
  • network: set infinite limit for resource manager (#1261)
  • sync: introduce session manager (#1257)
  • HTTP: using amount type for fee in transaction details (#1255)
  • network: disconnect from peers that has no protocol (#1243)
  • wallet: saving wallet file after generating new address in gRPC (#1236)
  • prevent zero stake for bond transactions (#1227)
  • set bounding interval for first boudning tx only (#1224)

Refactor

  • wallet: set server address on loading wallet (#1348)
  • removed deprecated LockWallet and UnLockWallet from WalletService (#1343)
  • crypto: decode data to point on verification (#1339)
  • network: define connection info in network proto (#1297)
  • sync: define peer package (#1271)
  • network: refactor peer manager and redefine the min cons (#1259)

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