[Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.
-
https://bter.com/trade/ftc_btc
Is running Feathercoin 0.9.3.2
-
@AcidD said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:
When writing to the Debug log, does 0.11.2 leave comments that are written by @lizhi and therefore uses a different character encoding?
Server Hosted in Luxemberg + FTC = BTER
-
Issue Notes :
Whilst syncing a (fresh blockchain database/wallet) Feathercoin 0.11.2-dev , mouse over the exclamation mark next to Balances . says Bitcoin
QRCodes did not work - need review after merge complete
Check : Transaction fee set to 0.00001 FTC/kB
Sign message - tool tip on Advanced menu option - Verify message sign message tab says bitcoin
Verify message - tool tip on Advanced menu option - Verify message - Verify message tab says bitcoin
Advanced / Options / Wallet : Check default coin control settings are correct
There are quite a few changes made to the wallet structure, the standard bitcoin connection animation looks Ok. opennames is missing.
@AFB helped to do some fiddling to bring in all the improvements we did into 0.11.2 , possibly make a couple more icons / update some bad new forms.
There is another test (that would help us move to head) - Fork Bitcoin, checkout 0.11 last version - merge ftc 0.11.2
Update autoconfig.sh to test for zxing Directory e.g. :
if [ ! -d “$DIRECTORY” ]; then
# Control will enter here if $DIRECTORY doesn’t exist.
fiUpdate Re-Indexing message to be more friendly / informative? (when you upgrade)
Why do we have uFTC and mFTC surely DecaFTC is more logical?? (needs review)
Test and document Smart contracts.
Smart contracts is just a form, review and remove, smart contract form.
SX search for stealth coins not included.
find not utf-8 characters grep -axv ‘.*’ main.cpp
propose launch option shrink debug file :
Add -shrinkdebuglog to the options you use to start feathercoin, or add shrinkdebuglog=1 to your feathercoin.conf. Every startup, if the log is larger than 1MB, it will shrink it to 200KB.
wallet.cpp change control :
// TODO: fix handling of ‘change’ outputs. The assumption is that any
// payment to a script that is ours, but is not in the address book
// is change. That assumption is likely to break when we implement multisignature
// wallets that return change back into a multi-signature-protected address;
// a better way of identifying which outputs are ‘the send’ and which are
// ‘the change’ will need to be implemented (maybe extend CWalletTx to remember
// which output, if any, was change).Fri, 12 September 2014 16:29:30 -0400 build date incorrect, debug information @wellenreiter
Add these dependencies to FTC unix build docs :
libevent-2.0-5 libevent-dev libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5LogPrintf(" (no) space error(s)
Enter multisync, new address, press ok with no address. – Incorrect error message.
The entered address “” is not a valid Bitcoin address.Multisig page, - verify message button - not connected to anything …
Update the openSSL version used / review : OpenSSL 1.0.2g 1 Mar 2016
Re-Integrate updated Documents from 0.9.6.2
Review MAN pages - copied in from 0.9.6.1 because 0.11.2 MANs were deleted. need review against Bitcoin 0.11.1
src/qt/forms/debugdialog.ui - Reused form SX form and menu options need reapplying.
feathercoin.qrc has not been implemented in 0.11 - being worked on as part of merge
Icons are missing, test icons - being tested / brought in as part of merge
https://github.com/litecoin-project/litecoin/pull/362 SSE2 Litecoin enhancement.
https://uk.mathworks.com/matlabcentral/answers/93455-what-is-the-sse2-instruction-set-how-can-i-check-to-see-if-my-processor-supports-it?requestedDomain=www.mathworks.comACP is not working in 0.11
openssl version and future use review :
https://github.com/peercoin/peercoin/commit/3320650372750068dff45193603d17998a975117 -
@wrapper we should group these notes and create issues directly on github.
Otherwise it is duplicated work -
I agree, I’ll move them to issues, these are notes while I investigate.
I’ve also created a pull list on Github so we can discuse which and how we pull the missing commits from 0.9.6.2 and, opennames. We can use the experience to to pull in further changes from head.
https://github.com/FeatherCoin/Feathercoin/pull/201
The pull can be used to identify which don’t need or need more icons etc as we agreed, the project will be used to document pulling them in.
-
Need to use cherry pick and meld.
Try git imerge a try: that will apply your commits one by one, giving you the chance to do a rebase incrementally (meaning you can start a rebase, interrupt it, resume it later!).You can see here a comparison between Incremental merge vs. direct merge vs. rebase :
http://softwareswirl.blogspot.co.uk/2013/05/incremental-merge-vs-direct-merge-vs.html
https://stackoverflow.com/questions/18162930/how-can-i-find-out-which-git-commits-cause-conflicts
-
Testing 0.11.2 re-indexing database after it was viewed by 0.9.6.1
Crashed twice with : /feathercoin-qt Segmentation fault
seems to have carried on after restart. tbc
-
@wrapper check the build-aux/m4/ax_boost-base for the version.
it is 1.58 in bitcoin code, 1.54 should be ok, too, but I’ve set it to >1.20 to support older OS. We may have to increase that back to >= 1.54 -
I’m setting up a test environment. I’ll repeat the test (viewing 0.11 database with 0.9.6.2) after I’ve resynced and, this time, saved uncorrupted / synced 0.11.2 database
-
Merging commits from 0.9.6.2 to 0.11.2 procedure
Install a mergetool. On Linux, meld:
sudo apt-get install meld
Configure your mergetool:
git config --global merge.tool meld
Then, iterate in the following way:
git cherry-pick .... git mergetool git cherry-pick --continue
-
First 0.9.6.2 mergeTest cherry pick commit :
https://github.com/FeatherCoin/Feathercoin/pull/201/commits/0ba808af8a10c8231490088932baa2d6ae0c7106
Added man pages for feathercoin, modified iconscommit 0ba808af8a10c8231490088932baa2d6ae0c7106 @wellenreiter01
wellenreiter01 committed on 1 Nov 2015
git cherry-pick 0ba808af8a10c8231490088932baa2d6ae0c7106 error: cherry-pick is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use 'git add/rm <file>' hint: as appropriate to mark resolution and make a commit. fatal: cherry-pick failed git mergetool Merging: contrib/debian/manpages/feathercoin.conf.5 contrib/debian/manpages/feathercoind.1 contrib/debian/manpages/feathercoin-qt.1 Deleted merge conflict for 'contrib/debian/manpages/feathercoin.conf.5': {local}: deleted {remote}: created file Use (c)reated or (d)eleted file, or (a)bort?
Note
Test - Create © all new MAN files. were MAN pages moved in from Bitcoin 0.11? and then FTCed? should still work.
Are there any other references / links to the original MAN names? -
2. 0.9.6.2 mergeTest cherry pick commit :
changed paperwallet template and copyright strings
commit 07525719698e379f2c721e8e6ffdc6a08468c843 @wellenreiter01
wellenreiter01 committed on 9 Nov 2015
Contains a number of copyright changes - not need. @Wellenreiter needs to check, wither rest are still needed. The paper wallet image may be, and was added in test.
src/m4/bitcoin_find_bdb48.m4 ---- updated for test
src/m4/bitcoin_find_bdb51.m4 ---- updated for test -
Sync issue 0.9.6.1 - Resync 1 year - Blockchain and update wallet.
Note : worked with fresh wallet
2017-07-21 08:20:48 ProcessBlock: Preliminary checks
2017-07-21 08:20:48 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2017-07-21 08:20:48 AcceptBlockHeader,nHeight=1580548
2017-07-21 08:20:48 GetNextWorkRequired pindexLast block Height=1580547,nBits=474666155
2017-07-21 08:20:48 GetNextWorkRequired the next block Height=1580548
2017-07-21 08:20:48 GetNextWorkRequired fork
2017-07-21 08:20:48 Difficulty rules regular blocks
2017-07-21 08:20:48 GetNextWorkRequired(), nActualTimespan = 5 before bounds
2017-07-21 08:20:48 RETARGET: nActualTimespanShort = 106, nActualTimespanMedium = 67, nActualTimespanLong = 64, nActualTimeSpanAvg = 79, nActualTimespan (damped) = 64
2017-07-21 08:20:48 RETARGET: nActualTimespan = 64 after bounds
2017-07-21 08:20:48 RETARGET: nTargetTimespan = 60, nTargetTimespan/nActualTimespan = 0.9375
2017-07-21 08:20:48 GetNextWorkRequired RETARGET
2017-07-21 08:20:48 nTargetTimespan = 60 nActualTimespan = 64
2017-07-21 08:20:48 Before: 1c4ad4ab 000000004ad4ab00000000000000000000000000000000000000000000000000
2017-07-21 08:20:48 After: 1c4fd1c7 000000004fd1c777777777777777777777777777777777777777777777777777
2017-07-21 08:20:48 ConnectBlock hashPrevBlock=df3735d388ede485e3255d1f389aa651d37bcce1bc04a4408e2bdbdb8239a46f
2017-07-21 08:20:48 ConnectBlock view.GetBestBlock()=df3735d388ede485e3255d1f389aa651d37bcce1bc04a4408e2bdbdb8239a46f
2017-07-21 08:20:48 AddToWalletIfInvolvingMe,hash=1411a9f462d6b47459f7e8abaa402db9bdd6246f3622dedc1717848f27661b10 .
2017-07-21 08:20:48 FindStealthTransactions() tx:1411a9f462d6b47459f7e8abaa402db9bdd6246f3622dedc1717848f27661b10,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-21 08:20:48 txout scriptPubKey= OP_DUP OP_HASH160 ba513ceff6297945cbb4c5746f184356adcc2d9b OP_EQUALVERIFY OP_CHECKSIG
2017-07-21 08:20:48 txout hash = 8cb243d8b996f59f7d0c9e0a106cdc7cc6cf88e47b621ed2df00da26697a34dc
2017-07-21 08:20:48 AddToWalletIfInvolvingMe,hash=06ad4778cb2eb3ac4016003fab4c4b58c6de576fa7edd80a619907435f64e8ba .
2017-07-21 08:20:48 FindStealthTransactions() tx:06ad4778cb2eb3ac4016003fab4c4b58c6de576fa7edd80a619907435f64e8ba,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-21 08:20:48 txout scriptPubKey= OP_DUP OP_HASH160 123762cccc17098a5b0868eb44557ab50d0a55a6 OP_EQUALVERIFY OP_CHECKSIG
2017-07-21 08:20:48 txout hash = 3c42a83e3ee1f65595ebe93efef179fad9b2e7ab59a1a25cca39da63cd5d6512
2017-07-21 08:20:48 BOOST_FOREACH nOutputIdOuter=1 ,find txout…Appears to be a similar fault in Litecoin recognizing the Genesis Block …
-
Sync 0.9.6.2 - Blank with updated peers.dat error message example …
2017-07-21 08:38:51 receive version message: /Feathercoin:0.9.6/: version 70003, blocks=1808179, us=88.105.71.156:37890, them=104.236.34.9:9336, peer=104.236.34.9:9336
2017-07-21 08:39:24 receive version message: /Feathercoin:0.9.6.1/: version 70005, blocks=1808179, us=88.105.71.156:47522, them=178.238.236.130:9336, peer=178.238.236.130:9336
2017-07-21 08:39:24 Added time data, samples 14, offset +0 (+0 minutes)
2017-07-21 08:42:01 ProcessBlock: Preliminary checks
2017-07-21 08:42:01 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2017-07-21 08:42:01 ProcessBlock() ProcessBlock: ORPHAN BLOCK 4, prev=75fa1d017fcaf1463912686b3cb090301c672edbf97cecb67faac9d15223d328
2017-07-21 08:42:02 ProcessBlock: Preliminary checks
2017-07-21 08:42:02 ProcessBlock() ProcessBlock: ORPHAN BLOCK 5, prev=169c84a4bf1c6b36371315aa5ddb2cc95c2ae5d8fff460ea38fa3cbb2715530e -
I have seen that several times dunig my tests with 0.9.6.* . The ORPHAN BLOCK COUNTER going up to
ProcessBlock() ProcessBlock: ORPHAN BLOCK 751.It seems there was a number of forks happening, which where resolved later. I can’t remember the block height where it happened, so I can’t tell, that is is the same block where the messages started to show up
-
3 - 0.9.6.2 mergeTest cherry pick commit :
Changed paperwallet template and copyright strings
commit 07525719698e379f2c721e8e6ffdc6a08468c843 @wellenreiter01 wellenreiter01 committed on 9 Nov 2015
wellenreiter01 committed on 9 Nov 2015
main.cpp
error identified / in Meld merge tool.
There was a problem opening the file “/home/tony/projects/Feathercoin/src/main_LOCAL_17197.cpp”.
There was an encoding conversion error and it was needed to use a fallback character
Chinese character / comment?
-
yes, there are several everywhere in the code.
causing problems to open the files in qt-creator,
too -
Sync test failed, stalled at 1yr 17w - Log size so far 3.1GB.
last 1hr of log :
017-07-22 07:17:08 ProcessBlock: Preliminary checks
2017-07-22 07:17:08 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2017-07-22 07:17:08 ProcessBlock() ProcessBlock: ORPHAN BLOCK 751, prev=2ecf35d05b978aabf35ae4f21d2db3f071e4a7e8fafa808d7a8539f392106e88
2017-07-22 07:17:20 ProcessBlock: Preliminary checks
2017-07-22 07:17:20 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2017-07-23 10:25:57 ConnectBlock hashPrevBlock=8b8dc2aa0e7a22581c88f11d4ecdecc36db25c03f493c14a7ca962d143740dd5
2017-07-23 10:25:57 ConnectBlock view.GetBestBlock()=8b8dc2aa0e7a22581c88f11d4ecdecc36db25c03f493c14a7ca962d143740dd5
2017-07-23 10:25:57 AddToWalletIfInvolvingMe,hash=a5812c24f3d75f665bdc63ef6c642358c8ad345784032d50c8fc62b4eac44fe6 .
2017-07-23 10:25:57 FindStealthTransactions() tx:a5812c24f3d75f665bdc63ef6c642358c8ad345784032d50c8fc62b4eac44fe6,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 259393f4a14f2fb640493094cf405747fd6bc3c3 OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = a30ec729155f1f38f601b0a8cf9f0945a90f13a5a40260b6ca2a0b102a0d6b6d
2017-07-23 10:25:57 AddToWalletIfInvolvingMe,hash=482bf080c4efc2b1b5a8612598dad56c0ec5d3af092d997fe11e69dad614c6ea .
2017-07-23 10:25:57 FindStealthTransactions() tx:482bf080c4efc2b1b5a8612598dad56c0ec5d3af092d997fe11e69dad614c6ea,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 5a9f881f142964d8116a0c823616e7136d06d23d OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = 702ab3fecd1570cdef322f570483847dc437f661dc3db11a2098c8e8aaab1e98
2017-07-23 10:25:57 BOOST_FOREACH nOutputIdOuter=1 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 e01fd88db9645dae33b2f5bc17b8edaeeebd9408 OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = c03e2b97d49cfb1dbfec32445c68e18381f500c4cb0cece2d7a967c9f9025e9d
2017-07-23 10:25:57 AddToWalletIfInvolvingMe,hash=a127f272066bb491d5f7038f8bd810fd53c8d4dc021f66e33972b696956ddf33 .
2017-07-23 10:25:57 FindStealthTransactions() tx:a127f272066bb491d5f7038f8bd810fd53c8d4dc021f66e33972b696956ddf33,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 484709b19906fc8235c1b526dd9b5956c52991cc OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = bab751a3e34c311d9021fc48a3d15bd36a39161b89917d2fce2c1ccfe96a2f70
2017-07-23 10:25:57 BOOST_FOREACH nOutputIdOuter=1 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 72d179a1d3d9495ded9bc117fffcf39c480ec07b OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = 1c750af65cc6635a79603d2258087634874c0c89023645280b37316b6c122f80
2017-07-23 10:25:57 AddToWalletIfInvolvingMe,hash=0353351a21572e3993b8d31e83bd693397163e30f9f706cebbb71bcf341b4a2a .
2017-07-23 10:25:57 FindStealthTransactions() tx:0353351a21572e3993b8d31e83bd693397163e30f9f706cebbb71bcf341b4a2a,BOOST_FOREACH nOutputIdOuter=0 ,find txout…
2017-07-23 10:25:57 txout scriptPubKey= OP_DUP OP_HASH160 e99a3f5099e162d75fd7c4e6ed140799cce45481 OP_EQUALVERIFY OP_CHECKSIG
2017-07-23 10:25:57 txout hash = 114941f6d8356ddcd5ba40651dc1791fde3dfdab605887e84988ba70ab82aea0
2017-07-23 10:25:57 BOOST_FOREACH nOutputIdOuter=1 ,find txout…
-
re: 0.9.6.2 merge to 0.11.2
https://github.com/wrapperband/Feathercoin/pull/1/commits/e6e74b08695852dfe0506f2f031df78fee23b8db
src/qt/forms/debugdialog.ui
It appears that Lizhi has reused debugdialog from stealth coin coin search to demo smart contracts. Will save SX debug as debugdialog.ui.1 till resolved / contract test assesed.
-
main.h
From 0.11.2
/** Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create /
static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000;
static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0;
/ Default for -blockprioritysize, maximum space for zero/low-fee transactions /
static const unsigned int DEFAULT_BLOCK_PRIORITY_SIZE = 50000;
/ Default for accepting alerts from the P2P network. /
static const bool DEFAULT_ALERTS = true;
/* The maximum size for transactions we’re willing to relay/mine /
static const unsigned int MAX_STANDARD_TX_SIZE = 100000;
/* Maximum number of signature check operations in an IsStandard() P2SH script /
static const unsigned int MAX_P2SH_SIGOPS = 15;
/* The maximum number of sigops we’re willing to relay/mine in a single tx */
static const unsigned int MAX_STANDARD_TX_SIGOPS = MAX_BLOCK_SIGOPS/5;verse 0.9.6.1 –
/* Maturity threshold for PoW base transactions, in blocks (confirmations) */
extern int nBaseMaturity;
static const int BASE_MATURITY = 100;/** The maximum allowed size for a serialized block, in bytes (network rule) /
static const unsigned int MAX_BLOCK_SIZE = 1000000;
/* Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create /
static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 250000;
static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0;
/ Default for -blockprioritysize, maximum space for zero/low-fee transactions /
static const unsigned int DEFAULT_BLOCK_PRIORITY_SIZE = 17000;
/ The maximum size for transactions we’re willing to relay/mine /
static const unsigned int MAX_STANDARD_TX_SIZE = 100000;
/* The maximum allowed number of signature check operations in a block (network rule) */
static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;from 0.11.2
static const int MAX_BLOCKS_IN_TRANSIT_PER_PEER = 16;
/** Timeout in seconds during which a peer must stall block download progress before being disconnected. /
static const unsigned int BLOCK_STALLING_TIMEOUT = 2;
/* Number of headers sent in one getheaders result. We rely on the assumption that if a peer sends- less than this number, we reached its tip. Changing this value is a protocol upgrade. /
static const unsigned int MAX_HEADERS_RESULTS = 2000;
/* Size of the “block download window”: how far ahead of our current height do we fetch? - Larger windows tolerate larger download speed differences between peer, but increase the potential
- degree of disordering of blocks on disk (which make reindexing and in the future perhaps pruning
- harder). We’ll probably want to make this a per-peer adaptive value at some point. /
static const unsigned int BLOCK_DOWNLOAD_WINDOW = 1024;
/* Time to wait (in seconds) between writing blocks/block index to disk. /
static const unsigned int DATABASE_WRITE_INTERVAL = 60 * 60;
/* Time to wait (in seconds) between flushing chainstate to disk. /
static const unsigned int DATABASE_FLUSH_INTERVAL = 24 * 60 * 60;
/* Maximum length of reject messages. */
static const unsigned int MAX_REJECT_MESSAGE_LENGTH = 111;
From 0.9.6.2
static const int MAX_BLOCKS_IN_TRANSIT_PER_PEER = 128;
/** Timeout in seconds before considering a block download peer unresponsive. */
static const unsigned int BLOCK_DOWNLOAD_TIMEOUT = 60;/** AuxPow Block versions for sanity checks. /
/* bare AuxPoW block version which will be modulated further. /
static const int BLOCK_VERSION_AUXPOW_BARE = CBlockHeader::CURRENT_VERSION | (AUXPOW_CHAIN_ID * BLOCK_VERSION_CHAIN_START);
/* version when AuxPoW exists on the block /
static const int BLOCK_VERSION_AUXPOW_WITH_AUX = BLOCK_VERSION_AUXPOW_BARE | BLOCK_VERSION_AUXPOW;
/* version when no AuxPoW exists on the block */
static const int BLOCK_VERSION_AUXPOW_WITHOUT_AUX = BLOCK_VERSION_AUXPOW_BARE & ~BLOCK_VERSION_AUXPOW;#ifdef USE_UPNP
static const int fHaveUPnP = true;
#else
static const int fHaveUPnP = false;
#endif - less than this number, we reached its tip. Changing this value is a protocol upgrade. /