Skip to content

v1.3.3.1

Compare
Choose a tag to compare
@tohsnoom tohsnoom released this 28 Jul 05:09
· 575 commits to master since this release
v1.3.3.1
3cde5d3

1.3.3.1 Release notes

MANDATORY UPGRADE RELEASE

All wallets and masternodes should upgrade to v1.3.3.1, which includes changes to help reduce some recent forking, blockchain syncing issues, and other error messages some users have recently experienced. We try to avoid users needing to upgrade masternodes and wallets soon after another required upgrade, but we believe this will help alleviate the issues some users have been seeing recently, and reduce the probability of forks going forward.

As previously communicated, v1.2.2 wallets and masternodes (that shows up as v3.0.5-53 in About Phore Core, and "version": 1020200 using getinfo from the debug console or phore-cli) should still continue to work until around August 11th (block 468,744), but we recommend users with v1.2.2 wallets and masternodes upgrade to v1.3.3.1 as soon as possible as well.

Phore Core version 1.3.3.1 is now available from:

https://phore.io/

Please report bugs using the issue tracker at github:

https://github.com/phoreproject/phore/issues

How to Upgrade Wallets

Shut down the older version wallet, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Phore-Qt (on Mac) or
phored/phore-qt (on Linux).

How to Upgrade Masternodes

When upgrading masternodes, upgrade your controller wallet first. There are two ways people have installed masternodes, and to know how to upgrade, you first need to know which method yours was installed with. If you know you have more than one masternode running on a single VPS, then your masternodes were installed with the VPS installation script, and you can proceed to that section.

For those running a single masternode on a VPS, log in to your masternode VPS, and run the following command to see how the phored daemon is running:

ps -ef | grep phored

For server with an active masternode, that will print out the line you just ran (ps -ef etc.) and also one line that shows the running phored daemon command.

For masternodes installed with the VPS installation script, it will look like this:

mastern+ 20646 1 1 Jul12 ? 00:19:02 /usr/local/bin/phored -daemon -pid=/var/lib/masternodes/phore1/phore.pid -conf=/etc/masternodes/phore_n1.conf -datadir=/var/lib/masternodes/phore1

For masternodes installed with either the original type-in-all-the-commands way, or with liray-undelich's masternode automation script, it will look more like this:

root 20646 1 1 Jul12 ? 00:19:02 phored -daemon

There could be some variations, but the main difference that matters is the -conf=/etc/masternodes/phore_n1.conf part. That is a clear sign of the VPS installation script, and if nothing is there like that, it is one of the other methods. Proceed to either the VPS Installation Script or Other Installation Method section accordingly.

VPS Installation Script Method

For a single masternode installed with the VPS script method, upgrading the masternode can be done with the following commands after logging in to your VPS, with each command on a separate line, pressing Enter after each one:

rm -rf /root/vps
git clone https://github.com/phoreproject/vps
cd /root/vps
./install.sh -p phore -u

After that completes, then type:

systemctl restart phore_n1

To verify the status of the masternode after restarting with the upgraded version, type:

phore-cli --conf=/etc/masternodes/phore_n1.conf masternode status

If it says started successfully, that may be all you need to do. If it tells you that it is a hot node awaiting activation, go back to your controller wallet, open the debug console, and type the following, replacing "aliasname" with the name you used for your masternode:

startmasternode alias false "aliasname"

Other Installation Method

For anyone who used the phore-masternode-automation script, that also has upgrade instructions that can be found at the link below, which really is just logging in to your VPS and entering the following command all on one line:

curl -s https://raw.githubusercontent.com/liray-unendlich/phore-masternode-automation/master/masternode-setup.sh | bash -s -- -u -v 1.3.3.1

For those who installed masternodes with another method, you can download the linux binaries to your VPS, replace them in either /root or /usr/local/bin depending on where you have them installed, and restart your masternodes.

cd /root
wget https://github.com/phoreproject/Phore/releases/download/v1.3.3.1/phore-1.3.3.1-x86_64-linux-gnu.tar.gz
tar zxvf phore-1.3.3.1-x86_64-linux-gnu.tar.gz
mkdir phore-old
mv /usr/local/bin/phore* phore-old/
cp /root/phore-1.3.3/bin/phore* /usr/local/bin/
phore-cli stop
phored -daemon 

After either of these methods, check the status of the masternode on the VPS with:

phore-cli masternode status

If it tells you it is not a masternode, wait a minute and try again. If if says it is awaiting remote activation, go back to your wallet and start it with the following command in the debug console, replacing with the name you gave it in your wallet:

startmasternode alias false <aliasname>

After that, you can verify it is working with a couple of steps. First, on the VPS, type:

phore-cli masternode status

That should now say it is started successfully. Then after about 15 or 20 minutes from when you started the masternode, verify on your Phore wallet masternode tab, in the Active column, that the time has started counting up from zero. If it is, you're in good shape.

Reinstalling using a new VPS

You also have the option of starting over with a new VPS, and following one of the two mostly-automated VPS installation script guides available here:

https://github.com/phoreproject/vps
https://github.com/liray-unendlich/phore-masternode-automation

If you do that, you can set up the new VPS and then delete your old VPS once you have the new one ready to activate.

bootstrap.dat

It is more secure and recommended to sync the Phore blockchain over the network from other Phore nodes. However, if you have issues with your Phore wallet/masternode syncing the blockchain, for example if it gets stuck on a specific block and won't continue syncing, in some cases it may help to use a bootstrap.dat file that provides a local copy of all of the blocks up to a certain point. The team has provided a recent bootstrap.dat file to help with troubleshooting in these cases. Unless you have a very slow Internet connection, it is not significantly faster to load blocks from a bootstrap.dat file than it is to load it over the network--it is mostly useful in cases when a user is having issues with that completing successfully.

For last resort troubleshooting where even the bootstrap.dat is failing, we have also provided a snapshot of the key folders in the Phore data directory

Any time you are using either a bootstrap.dat file or a snapshot of the Phore data directory, you use this at your own risk. Do not use bootstrap.dat or snapshot files that are from any unofficial sources, as your node is trusting that the data is from the correct Phore blockchain.

To use the bootstrap.dat file, shut down your wallet or masternode if it was already running, download, uncompress and move the file to the Phore data directory, and start your wallet/masternode. It will load the blockchain up to the last block contained in the bootstrap.dat file and then switch to loading blocks over the network.

Phore Snapshot

Once again, it is more secure and recommended to sync the Phore blockchain over the network from other Phore nodes. However, if you have issues with your Phore wallet/masternode syncing the blockchain, and in rare cases where even the bootstrap.dat is failing, we have provided a snapshot of the key folders in the Phore data directory. Using the snapshot will be faster than loading the blocks from the network, but is less secure because your wallet/masternode is assuming that all of the blocks are valid instead of validating each one as it is received from peers.

Any time you are using either a bootstrap.dat file or a snapshot of the Phore data directory, you use this at your own risk. Do not use bootstrap.dat or snapshot files that are from any unofficial sources, as your node is trusting that the data is from the correct Phore blockchain.

To use the Phore snapshot:

  • If your wallet/masternode has never been run before, start your wallet/masternode to have it create the initial Phore data directory. If you have an existing wallet you can skip this step.
  • Shut down the wallet/masternode.
  • Delete the following folders: blocks, chainstate, sporks, and zerocoin.
  • Download and uncompress the same folders into the Phore data directory.
  • Start your wallet/masternode.

Your wallet/masternode should load the snapshot database and continue syncing the blockchain from that point forward.

Notes on the above process:

  • The default locations of the Phore wallet data directory that contains the four folders above can be found in our wallet troubleshooting FAQ: https://forum.phore.io/t/phore-wallet-troubleshooting-frequently-asked-questions-faq/106
  • For Phore masternodes, the default Phore data directory location for masternodes installed using the VPS script method would be /var/lib/masternodes/phore1, and if you are running more than one masternode on the VPS, you can use /var/lib/masternodes/phore2, and so on for each masternode.
  • For Phore masternodes installed using other methods, in most cases the Phore data directory will be found in the /root/.phore directory.
  • On Windows, 7zip is one option to uncompress .tar.gz files. Please note you have to run the file through 7zip twice--once to unzip the gzipped file into a tar file, and a second time opening the tar file to extract the individual folders and files it contains.
  • For OSX or Linux, after deleting the four folders listed above, you can copy the snapshot file into the Phore data folder, navigate to that folder using Terminal, and uncompress it using the command tar zxvf PhoreSnapshot.tar.gz

1.3.3.1 changelog

Build improvements - making builds language independent, and fixing Mac build error, and fix some compiler warnings
Changed Windows installer to avoid running Phore-qt with admin privileges.
Changes to reduce forking and sync issues - ban v1.3.0 & v1.3.1 nodes, bump protocol to 70004, and add more checkpoints
Changed COINBASE_MATURITY to Params().COINBASE_MATURITY()
Added LOCK statements to avoid potential crashes
Fixed unknown SPORK log error

Credits

Moonshot
Julian
warrows
drewrothstein