To re-cap, in Swing we are currently working on a core upgrade to improve stability, along with implementing a new rewards schema.
We are turning this:
Into this:
Progress Report On The New Version (Some steps possibly missing)✓ Spin up new test server
✓ Install Swing
✓ Download blockchain, check for match with seed node.
if match: use it
if not: get it to match
✓ Get block count ("BC")
✓ Turn off new node
✓ Write new rewards code
set it as rewards for blocks > BC+5
Patch rounding errors
✓ Add checkpoints at BC
✓ Increase protocol version
(Disables connections from older versions)
✓ Change seed node IP to test server
Upgrade test server to new core
<------- We are roughly here. Making good progress. I'm currently downloading the blockchain so I can test the new code. delete /Swing
keep ./Swing (wallet, blockchain data, config, etc..)
git clone and install new Swing code
boot Swing
Add coins and try to enable staking
Wait for blockchain to move
Wait 5 blocks for new rewards to kick in
Wait a few more blocks to test for successful fork
Wallet upgrades?
Check if I can/should make any upgrades to the wallet
Increase wallet version
Compile new windows wallet
Add Wallet.dat
Attempt to connect to test server
Download blockchain
Check for sync errors
Test POS rewards code
Make sure the correct POS rewards are coming in
Watch number precision, check for signs of potential rounding errors
Allow POW diff to fall for next step
Attempt to POW mine
Setup solo miner (~415 MH/s)
Get it to start mining
Watch wallet for mined blocks
Make sure the correct rewards are coming in
Watch number precision, check for signs of potential rounding errors
Turn off windows peer
Checkpoint a block from successful rewards fork
Upgrade test server again(to include new checkpoint)
delete /Swing
keep ./Swing (wallet, blockchain data, config, etc..)
git clone and install new Swing code
boot Swing
Compile windows wallet again (to include new checkpoint)
Run windows wallet and check for sync
resume mining
Test new client
Put wallet on new windows enviornment
Sync to new peers
Download whole blockchain
Confirm proper block sync
Make a test transaction
Check peers to confirm seperation from old versions
Double check
POS rewards
Mining
POW rewards
New network sync
Connected to new peers
Not connected to old versions
Block agreement
Transactions working
Protocol versions
Wallet versions
Launch
Upload wallet
Release wallet and new core code
Ask server operators to redownload the blockchain
Block explorers
Exchanges
Pools
F5 repeatedly to see if it works or explodes.
If it works
-yay!
If it completely explodes
-Turn on coffee pot..