Releases: pastelnetwork/pastel
Monnet - v1.2.0-beta1
What's Changed
- [PSL-367] Implement offer/accept/transfer for action tickets by @akobrin1 in #159
- [PSL-413] SuperNode should have registered Pastel ID by @akobrin1 in #160
- [PSL-435] Update comments for ticket structures in cNode by @akobrin1 in #161
- [PSL-433] Write API on pasteld to handle score update by @akobrin1 in #162
- [PSL-450] Use MN's collateral outpoint to find MN Pastel ID by @akobrin1 in #163
- [PSL-454] Update boost version to 1.80 by @akobrin1 in #164
- [PSL-471] Accept outpoint index numeric parameter in "pose-ban-score" RPC API by @akobrin1 in #165
- [PSL-474] Enable pose-ban-score API only in masternode mode by @akobrin1 in #166
- [PSL-478] cNode crashes on invalid RPC command parameter type by @akobrin1 in #167
- [PSL-488] update docs by @mateeullahmalik in #168
Full Changelog: v1.1.3...v1.2.0-beta1
v1.1.5
What's Changed
- [PSL-367] Implement offer/accept/transfer for action tickets by @akobrin1 in #159
- [PSL-413] SuperNode should have registered Pastel ID by @akobrin1 in #160
- [PSL-435] Update comments for ticket structures in cNode by @akobrin1 in #161
- [PSL-433] Write API on pasteld to handle score update by @akobrin1 in #162
- [PSL-450] Use MN's collateral outpoint to find MN Pastel ID by @akobrin1 in #163
- [PSL-454] Update boost version to 1.80 by @akobrin1 in #164
- [PSL-471] Accept outpoint index numeric parameter in "pose-ban-score" RPC API by @akobrin1 in #165
- [PSL-474] Enable pose-ban-score API only in masternode mode by @akobrin1 in #166
Full Changelog: v1.1.3...v1.1.5-beta
Cezanne v1.1.3 Release
What's Changed
- [PSL-407] Sapling transactions are treated as invalid, causing peer banning and stalled sync by @akobrin1 in #158
Full Changelog: v1.1.2...v1.1.3
Cezanne v1.1.2 Release
version string is "v1.1.2-afac6a66f"
Cezanne - v1.1.2 beta
Cezanne v1.1.1
Full Changelog: v1.1.0...v1.1.1
This is a stable release suitable for use on Mainnet.
This upgrade includes:
- Improvements to NFT Minting and Collections
- Support for NFT Transfers, Trades, and Auctions
- Interchain account identification via PastelIDs
- Cross-chain network access via Web3 APIs
- Dramatic upgrades to Sense (our near-duplicate NFT detection protocol)
- Enhancements to Cascade (our distributed NFT storage protocol)
- User-friendly utility services via PastelUp
- Improvements to network optimization and security
- Added extra validation for SuperNode payment transaction.
NOTE: Upgrade instructions for various client types are listed below.
1. WalletNode: Update pre-Murata WalletNode to Cezanne Walletnode
- Download
pastelup
to existing Wallet host - Next, stop the current node
pastelup stop node
- Install Pastel Walletnode
pastelup install walletnode -r latest -n mainnet -f
- Now, you are ready to start the WalletNode
pastelup start walletnode
2. SuperNode: Update pre-Murata SuperNode to Cezanne SuperNode
NOTE: SuperNode Update assumes that SuperNode is established via a COLD/HOT mode set-up where:
COLD
node has:
- pastel node (
pasteld
andpastel-cli
) set as simple node (not asmasternode
),- wallet with collateral transaction for SN(s) that ran on
HOT
node(s)masternode.conf
for SN(s) that ran onHOT
node(s)HOT
node has:
- pastel node (
pasteld
andpastel-cli
) running asmasternode
LOCAL
host - the user's computer used for performing upgrade, this CAN be theCOLD
node
- Download
pastelup
to bothCOLD
andHOT
node (andLOCAL
host if it is different fromCOLD
node) - If
LOCAL
host is NOTCOLD
node, copymasternode.conf
fromCOLD
node toLOCAL
hostscp cold_host:~/.pastel/masternode.conf .
- Open
masternode.conf
and findMN-NAME
,COLLATERAL-TX-ID
,COLLATERAL-TX-IND
andMN-PRIV-KEY
for node that will be upgraded{ "MN-NAME": { "mnAddress": "<MN-IP-ADDRESS>:9933", "mnPrivKey": "<MN-PRIV-KEY>", "txid": "<COLLATERAL-TX-ID>", "outIndex": "<COLLATERAL-TX-IND>", "extAddress": "<MN-IP-ADDRESS>:4444", "extCfg": "", "extKey": "<PASTELID>" } }
- Stop HOT node
- from
HOT
node itselfpastelup stop node
- OR from
LOCAL
hostpastelup stop node remote -ssh-ip <...> --ssh-user <...> --ssh-key <...>
- from
- Install Pastel Supernode
- from
HOT
node itselfpastelup install supernode -r latest -n mainnet -f
- OR from
LOCAL
hostpastelup install supernode -r latest -n mainnet -f -ssh-ip <...> --ssh-user <...> --ssh-key <...>
- from
- Initialize supernode, this step is only needed to create new version of
masternode.conf
onHOT
node and to create new version of PastelID (PastelID in Cezanne has new field)- from
HOT
node itselfpastelup init supernode --name MN-NAME --new --txid=COLLATERAL-TX-ID --ind=COLLATERAL-TX-IND --pkey=MN-PRIV-KEY --passphrase=<passhrase for new PastelID> --skip-collateral-validation
- OR from
LOCAL
hostpastelup init supernode remote --name MN-NAME --new --txid=COLLATERAL-TX-ID --ind=COLLATERAL-TX-IND --pkey=MN-PRIV-KEY --passphrase=<passhrase for new PastelID> --skip-collateral-validation -ssh-ip <...> --ssh-user <...> --ssh-key <...>
- in both cases
MN-NAME
,COLLATERAL-TX-ID
,COLLATERAL-TX-IND
andMN-PRIV-KEY
are values acquired from masternode.conf in step 2 - Each of these commands might take a long time and might fail and the end, if it fails, re-run it adding flag
--noReindex
- from
- If
init
was successful there willpasteld
process running on theHOT
node- from
HOT
node-
$ ps afx | grep pasteld | grep -v grep ... /home/user/pastel/pasteld --datadir=/home/user/.pastel --externalip=111.222.333.444 --txindex=1 --masternode --masternodeprivkey=<....>
-
- from
- Update
masternode.conf
onCOLD
node with newmasternode.conf
created on the updatedHOT
node, it will look similar to this{ "MN-NAME": { "mnAddress": "<MN-IP-ADDRESS>:9933", "mnPrivKey": "<MN-PRIV-KEY>", "txid": "<COLLATERAL-TX-ID>", "outIndex": "<COLLATERAL-TX-IND>", "extAddress": "<MN-IP-ADDRESS>:4444", "extP2P": "<MN-IP-ADDRESS>:4445", "extCfg": "", "extKey": "<NEW-PASTELID>" } }
- Re-start
pasteld
onCOLD
node (this is required to pickup updates inmasternode.conf
)- from
COLD
nodepastelup stop node
OR./pastel/pastel-cli stop
./pastel/pasteld --externalip=<external IP of the host> --reindex --txindex=1
- from
- Re-enable MN
- from
COLD
node./pastel/pastel-cli masternode start-alias MN-NAME
- Stop executables on the
HOT
node
- from
HOT
node itselfpastelup stop supernode
- OR from
LOCAL
hostpastelup stop supernode remote -ssh-ip <...> --ssh-user <...> --ssh-key <...>
- Set supernode's executables as systemd services
- from
HOT
node itselfpastelup update install-service --solution supernode
- from
- Start supernode
- from
HOT
node itselfpastelup start supernode
- OR from
LOCAL
hostpastelup start supernode -ssh-ip <...> --ssh-user <...> --ssh-key <...>
Cezanne - v1.1.0.1
This is a stable release suitable for use on Testnet.
Changes
- Improvements to NFT Functionality (Minting, Collections, Transfers, Trades)
- Support of user information and persistent identities via PastelID
- Release of Web3 Open-APIs for action tickets
- Sense improvements to dd-service, fingerprints, and rareness scores
- Cascade improvements to RaptorQ chunk creation and distribution
- Kademlia improvements to authentication and peer connections
- Release of Pastel-Up utility services
- Security improvements
Cezanne beta 2
Pastel Improvement Proposal #1 (PIP-1): Improvement to SuperNode (MN) voting logic
Summary
- Added extra validation for SuperNode payment transaction.
- This check is activated in Mainnet at blockHeight 228700.
- Before the change, the transaction was considered valid if there were less than 6 votes. After the change, the transaction is checked for payment regardless of the payee vote count.
- Payees are also ordered by vote count in descending order and the payment check is performed first on the payee with max vote count.
- Regular transactions with no votes are considered valid.
To upgrade:
1. Download new executables into your root or user directory: pasteld
and pastel-cli
wget https://github.com/pastelnetwork/pastel/releases/download/v1.0.2/pasteld-linux-amd64
wget https://github.com/pastelnetwork/pastel/releases/download/v1.0.2/pastel-cli-linux-amd64
1b. Rename the new executables to match existing configuration. For example, pastel-cli
and pasteld
as:
mv pastel-cli-linux-amd64 pastel-cli & mv pasteld-linux-amd64 pasteld
2. Next, stop the current pastel Node (tip: make sure you are in the active Pastel executables directory)
./pastel-cli stop
3. Backup your current executables mv <current-pasteld-exec> <backup-pasteld-exec> & <current-pastelcli-exec> <backup-pastelcli-exec>
For example: mv pasteld pasteld-1.0.0 & mv pastel-cli pastel-cli-1.0.0
4. Before you start the new node, you must reconfigure your data directory files.
First, return to your home and move the existing data directory to a backup:
mv ~/.pastel ~/.<back-up-name-of-data-directory>
Then, create a new data directory:
mkdir ~/.pastel
Lastly, copy the existing files from the back-up directory to the new directory:
cp ~/.<back-up-name-of-data-directory>/wallet.dat ~/.pastel
cp ~/.<back-up-name-of-data-directory>/pastel.conf ~/.pastel
(OPTIONAL: COPY THE MASTERNODE.CONF IF RECONFIGURING THE COLD NODE ON A HOT/COLD SUPERNODE SETUP) cp ~/.<back-up-name-of-data-directory>/masternode.conf ~/.pastel
5. Now, return to the directory containing the various executables and select the correct permission scripts
Set the correct permissions on shell scripts:
chmod 755 *.sh
You may also need to set correct permissions on executables:
chmod 755 pasteld
chmod 755 pastel-cli
6. Now, you are ready to restart the node:
If you are running a standard Node, run: ./start-node.sh
If you are running a SuperNode
- On Hot Node, run:
./start-mn.sh
- On Cold Node, run
./start-node.sh
Cezanne beta 1
What's Changed
- [PSL-205] delayed ticket rejection by @akobrin1 in #104
- Psl 206 convert boost pastel gtest by @tanlemin91 in #102
- Psl 95 filter out "NEW_START_REQUIRED" MNs that are dead for more than 1 week by @tanlemin91 in #103
- [PSL-95] filter out "NEW_START_REQUIRED" MNs that are dead for more than 1 week by @akobrin1 in #106
- Psl 207 convert pastel gtest by @tanlemin91 in #105
- Psl 218 convert pastel gtest by @tanlemin91 in #107
- Psl 226 convert pastel gtest by @tanlemin91 in #108
- Psl 227 convert pastel gtest by @tanlemin91 in #109
- [PSL-110] scheduler invalid argument exception by @akobrin1 in #111
- Psl 228 convert rpc help str to r str by @tanlemin91 in #112
- Psl 196 convert pastel gtest by @tanlemin91 in #110
- [PSL-276] rest.py test hangs on mempool synchronization by @akobrin1 in #115
Full Changelog: v1.1-alpha.2...v1.1-beta.1