Pactus 0.15.0 released

Overview

Pactus Blockchain Version 0.15.0 is now available for download. This release includes a graphical user interface (GUI) that is suitable for both beginners and experienced users. It also includes a command-line interface (CLI) for advanced users and wallet software that allows users to interact with the blockchain without the need to sync the entire blockchain.

Splash screen

Download

This version is the bootstrap version for Testnet-2. To start using Pactus Blockchain Testnet-1, download the latest version from the download page and join the Testnet.

These guides can help you to run and configure your node:

If you participated in Testnet-1, ensure to delete your previous working directory and create a new wallet.

By default, the working directory is located at "C:\Users\<name>\pactus" on Windows, or "~/pactus" on Unix-compatible platforms.

Change log

This version includes several changes and improvements, such as:

Feat

  • gui: adding the splash screen (#743)
  • add absentees votes to the certificate (#746)
  • logger: short stringer for loggers (#732)
  • implementing pip-7 (#731)
  • implementing pip-11 (#712)
  • implementing pip-8 (#711)
  • implementing pip-9 (#706)
  • new API to get Public key by address (#704)
  • Adding address field for AccountInfo (#703)
  • CreateValidatorEvent and CreateAccountEvent for nanomsg (#702)
  • implementing PIP-2 and PIP-3 (#699)
  • Adding Hole Punching to network (#697)
  • write logs into file (#673)
  • check protocol support before sending connect/disconnect event (#683)
  • updating genesis for pre-testnet-2 (#679)
  • adding udp protocol for network (#672)
  • implementing pip-4 (#671)
  • Notifee service events (#628)
  • adding MinimumStake parameter (#574)
  • adding Sent and Received bytes per message metrics for peers (#618)
  • add reason to BlockResponse messages (#607)
  • Add CalcualteFee in GRPC (#601)
  • add sent bytes and received bytes metrics to peerset plus update grpc (#606)
  • added metrics of libp2p with supporting prometheus (#588)
  • Check node address is valid (#565)
  • add LastSent and LastReceived properties to peer (#569)

Fix

  • data race issue on updating certificate (#747)
  • network: async connection (#744)
  • adding query vote timer for CP phase (#738)
  • trim transactions in proposed block (#737)
  • fixing query votes and proposal issue (#736)
  • fixing issue when a block has max transactions (#735)
  • consensus: anti-entroy mechanism for the consensus (#734)
  • logger: invalid level parsing error (#733)
  • cache certificate by height (#730)
  • fixing a crash on consensus (#729)
  • consensus: prevent double entry in new height (#728)
  • resolve consensus halt caused by time discrepancy in network. (#727)
  • unsorted addresses in wallet listing (#721)
  • send query votes message, if there is no proposal yet (#723)
  • fixing logger level issue (#722)
  • fixing syncing stuck issue (#720)
  • fixing some minor issues on pre-testnet (#719)
  • supporting go version 1.21 and higher (#692)
  • ensure log rotation using tests (#693)
  • restoring at the first block (#691)
  • swagger doesn’t work with multiple proto files (#687)
  • fixing wallet-cli issues (#686)
  • prevent stripping public key for subsidy transactions (#678)
  • updating the consensus protocol (#668)
  • aggregating signature for hello message (#640)
  • error case for logger (#634)
  • adding committers to the certificate (#623)
  • updating sortition executor (#608)
  • update buf and fixing proto generation issue (#600)
  • adding block hash to peer (#584)
  • copy to clipboard option for address and pubkey (#583)
  • public key aggregate (#576)
  • remove GetValidators rpc method (#573)
  • missing swagger ui for grpc get account by number (#564)
  • incorrect handler for validator by number (#563)

Refactor

  • sync: refactoring syncing process (#676)
  • remove payload prefix from payload transaction type (#669)
  • change Hello message from broadcasting to direct messaging (#665)
  • committee: using generic list for validators (#667)
  • rename SanityCheck to BasicCheck (#643)
  • cli: Migrating from mow.cli to cobra for wallet (#629)
  • cli: replacing mow.cli with cobra for daemon (#621)
  • logger: using fast JSON logger (zerolog) (#613)
  • Using Generics for calculating Min and Max for numeric type #604 (#609)
  • Updating LRU cache to version 2 #514 (#602)

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