Please note that experience with compiling and operating a Peercoin node in developer-like environment is required to participate in this test. To assist the developers with testing you must know how to compile the Peercoin source-code and submit logs if you experience some problems.
With this public testing we’ll make the testnet switch to v0.6 protocol and learn if the branch is ready for deployment to mainnet.
Fetch latest code from github:
git clone GitHub - peercoin/peercoin: Reference implementation of the Peercoin protocol.
cd peercoin
checkout RC1 branch with the fork logic:
git checkout ppc-0.6-rc1
Build
proceed to build the daemon or the QT wallet:
qmake-qt5 && make
(qmake -qt=qt5 && make
on Ubuntu 17.04)
Run
Run the node with the -testnet
flag.
Mint some blocks
If you have no testnet coins, post your testnet address bellow and some will be sent to you.
###Redownloading Blockchain
hrobeers:
v0.6 uses the new leveldb database for storing the blockchain, this is incompatible with the old database.
You should redownload the blockchain, you can do this my removing all files except the wallet.dat file.
P.S
For windows users, here is win32 build:
https://nofile.io/f/rYPwueCB6x9/peercoin-qt.exe
sha256sum: 9c05fbc1aab1fa5c9bda24f9f13a5411cd85a498f00d8619947fdb991279e406
12 Likes
willy
October 7, 2017, 1:44pm
6
2017-10-07 13:41:04 Test Network: genesis=0x00000001f757bb737f65 nBitsLimit=0x1d0fffff nBitsInitial=0x1d07ffff nStakeMinAge=86400 nCoinbaseMaturity=60 nModifierInterval=1200
2017-10-07 13:41:06 LoadBlockIndexDB(): last block file = 0
2017-10-07 13:41:06 LoadBlockIndexDB(): last block file info: CBlockFileInfo(blocks=275328, size=143722979, heights=0...275231, time=2012-08-16...2017-05-20)
2017-10-07 13:41:06 LoadBlockIndexDB(): synchronized checkpoint 00000001f757bb737f6596503e17cd17b0658ce630cc727c0cca81aec47c9f06
2017-10-07 13:41:06 LoadBlockIndexDB(): transaction index enabled
2017-10-07 13:41:06 LoadBlockIndexDB(): hashBestChain=c0dd1b7f29dae6a38e2c3c7ddb63cd3b91e681ebcbc94590563fe690d52197f3 height=275230 date=2017-05-20 17:22:26
2017-10-07 13:41:06 init message: Verifying blocks...
2017-10-07 13:41:06 Verifying last 288 blocks at level 3
2017-10-07 13:41:06 No coin database inconsistencies in last 289 blocks (580 transactions)
2017-10-07 13:41:06 block index 2937ms
2017-10-07 13:41:06 init message: Loading wallet...
2017-10-07 13:41:07 nFileVersion = 80600
2017-10-07 13:41:07 wallet 1037ms
2017-10-07 13:41:08 ERROR: CBlock::ReadFromDisk() : GetHash() doesn't match index
2017-10-07 13:41:08 *** Failed to read block
2017-10-07 13:41:12 init message: Loading addresses...
2017-10-07 13:41:12 Loaded 1437 addresses from peers.dat 4ms
2017-10-07 13:41:12 Shutdown : In progress...
2017-10-07 13:41:12 Flush(false)
2017-10-07 13:41:12 wallet.dat refcount=0
2017-10-07 13:41:12 wallet.dat checkpoint
2017-10-07 13:41:12 wallet.dat detach
2017-10-07 13:41:12 wallet.dat closed
2017-10-07 13:41:12 DBFlush(false) ended 23ms
2017-10-07 13:41:12 StopNode()
2017-10-07 13:41:12 Flushed 1437 addresses to peers.dat 13ms
2017-10-07 13:41:12 Committing 888 changed transactions to coin database...
2017-10-07 13:41:12 Flush(true)
2017-10-07 13:41:12 wallet.dat refcount=0
2017-10-07 13:41:12 wallet.dat checkpoint
2017-10-07 13:41:12 wallet.dat detach
2017-10-07 13:41:12 wallet.dat closed
2017-10-07 13:41:12 DBFlush(true) ended 15ms
2017-10-07 13:41:12 Shutdown : done
During startup, using my old testnet wallet and the testnet db files.
May have been caused by a dirty shutdown.
v0.6 uses the new leveldb database for storing the blockchain, this is incompatible with the old database.
You should redownload the blockchain, you can do this my removing all files except the wallet.dat file.
@peerchemist let’s make sure we communicate this clearly when we release.
willy
October 7, 2017, 3:01pm
9
hrobeers:
v0.6 uses the new leveldb database for storing the blockchain, this is incompatible with the old database.
You should redownload the blockchain, you can do this my removing all files except the wallet.dat file.
This happened mid sync after I restarted the client. The client was about 30 weeks behind at that time. Let’s see if it happens again. I’m syncing without “enforce checkpoints” btw.
Please retweet so we can get some more eyes on it…
2 Likes
Surely that would be easy enough to automate? Not a big deal though as long as people are fully aware that they need to manually remove some files.
I had to use this command to build on Ubuntu 17.04:
qmake -qt=qt5 && make
2 Likes
willy
October 7, 2017, 5:55pm
13
./peercoin-qt --testnet --debug
"sni-qt/14380" WARN 15:03:34.122 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
peercoin-qt: src/main.cpp:4898: CBlockTemplate* CreateNewBlock(CReserveKey&, CWallet*, bool): assertion »"mempool transaction missing input" == 0« not complied.
Aborted
Launching peercoin-qt with the -debug flag in the terminal seems to crash it.
Edit: Can’t reproduce it anymore. Maybe it had something to do with the old block chain files.
willy
October 7, 2017, 7:43pm
14
bottom one:
Status: 40567 confirmations
Date: 16.02.17 10:35
Credit: 0.00 PPC
Net amount: 0.00 PPC
Transaction ID: 90d8fd1e5a61154f712da26a5f6a800f77b72b18a8a76fa31f2e823327735089
Debug information
Credit: 0.00 PPC
Transaction:
CTransaction(hash=90d8fd1e5a61154f712da26a5f6a800f77b72b18a8a76fa31f2e823327735089, nTime=1487237734, ver=1, vin.size=3, vout.size=4, nLockTime=0)
CTxIn(COutPoint(120037265cbbfbed0891cf877d8ba6402e98c11e836ea7473b2dd3cc498811e3, 0), scriptSig=3045022100dba4a477a39fbb)
CTxIn(COutPoint(471a40a89a261d7cee55a44dfca38be25862dc54e42769b68f8df5aed9367c3d, 0), scriptSig=304502203235f993444329fd)
CTxIn(COutPoint(84da3b498ec775bae434938ac830070b728af6a351e7458710a8ad5f6065fd04, 0), scriptSig=30450220257e88f94c70fe0f)
CTxOut(nValue=0.01, scriptPubKey=OP_DUP OP_HASH160 01202a79b5713d94c259e3808be1d532d4ce3883 OP_EQUALVERIFY OP_CHECKSIG)
CTxOut(nValue=0.00, scriptPubKey=OP_RETURN 08011202e8071803)
CTxOut(nValue=0.00, scriptPubKey=OP_DUP OP_HASH160 75513554f235b939a5f269de8d659fbe5ed3d4f9 OP_EQUALVERIFY OP_CHECKSIG)
CTxOut(nValue=0.00, scriptPubKey=OP_DUP OP_HASH160 27e93d7a5229c9b28e01cf478278b6e17f909965 OP_EQUALVERIFY OP_CHECKSIG)
Inputs:
Amount=-0.000001 PPC IsMine=false
Amount=-0.000001 PPC IsMine=false
Amount=-0.000001 PPC IsMine=false
top one:
Status: 39816 confirmations
Date: 18.02.17 13:49
Debit: -9946.39 PPC
Credit: 9946.37 PPC
Net amount: -0.02 PPC
Transaction ID: a1590466cb92bbf8a9679375387ab52e77d166fb9ddb739b0ba51802f8599152
Debug information
Debit: -9946.39 PPC
Credit: 9946.37 PPC
Transaction:
CTransaction(hash=a1590466cb92bbf8a9679375387ab52e77d166fb9ddb739b0ba51802f8599152, nTime=1487422159, ver=1, vin.size=2, vout.size=3, nLockTime=0)
CTxIn(COutPoint(184b5e7b0b47828edf55bfbec41768207ec246bedbfc90ad96f068268a5b13e6, 0), scriptSig=3045022100a7bb5e40deb99d)
CTxIn(COutPoint(21dac93b109ec3073a7e0066752bcb8e322328849b5cc81d3f7196e6d23ace27, 0), scriptSig=304402203506ba3cb543f98b)
CTxOut(nValue=0.01, scriptPubKey=OP_DUP OP_HASH160 1e667ee94ea8e62c63fe59a0269bb3c091c86ca3 OP_EQUALVERIFY OP_CHECKSIG)
CTxOut(nValue=0.00, scriptPubKey=OP_RETURN 0801120f57696c6c797374657374617373657418012004)
CTxOut(nValue=9946.37, scriptPubKey=OP_DUP OP_HASH160 f90869307583a2ade411d8304dfa28ab6ab346e7 OP_EQUALVERIFY OP_CHECKSIG)
Inputs:
Amount=-0.000001 PPC IsMine=false
Just tell me here if you need some testnet coins. I have mined some.
willy
October 8, 2017, 12:03pm
18
I compiled the daemon on linux.
Used the old block files and the old wallet and had the same problem “Error: Failed to read block” with the daemon crashing.
Guess you really have to remove the old block files.
wallet.dat can be left from previous version, but blk*.dat files have to be removed prior to launch.
willy
October 8, 2017, 12:16pm
20
Is there a way to show the current status of “enforcechekpoints”?
Can this be included in getinfo?
Please log your bug report or feature requests here if you can:
https://github.com/peercoin/peercoin/issues
We will try to enter the requests made here into the issue tracker, but chances are that your request get’s overlooked here.
Yeah, I noticed that too… I think it uses the output from git describe
( https://github.com/peercoin/peercoin/blob/v0.6.0ppc.rc1/share/genbuild.sh#L19 )… maybe we didn’t use an annotated tag, that could maybe explain it picking up an old version? https://www.kernel.org/pub/software/scm/git/docs/git-describe.html (“By default (without --all or --tags) git describe only shows annotated tags.”).
oh, ha, i’ll go try to put it in github
emiros
October 9, 2017, 3:03pm
24
Seems you are right, “v0.6.0ppc.rc1” tag is lightweight, thus not selected on git describe.
$ git describe --candidates=2 --debug --tags
searching to describe HEAD
lightweight 3 v0.6.0ppc.rc1
annotated 157 v0.4.0ppc
traversed 159 commits
more than 2 tags found; listed 2 most recent
gave up search at ace33eb041941d93bfaae5593bbbbea9aeb808a2
v0.6.0ppc.rc1-3-g0c96982
What you think about the second problem, with sync interrupting, what may causing it?