Upgrade of Gapcoin Core client from 0.9 to 0.16 completed.FWIW: Are we approaching a re-announcement ?
Dunno. Not completely happy with the
getwork implementation. Turns out that the demands of the standalone GapMiner cause the client to run out of rpcworkqueue capacity, doubling it to 64 seems to work but I don't know whether that's practical for pool mining.
I fixed the issue that caused the client to create excessive demand on the RPC work queue and
I have now completed the process of upgrading the Gapcoin client from 0.9 to 0.16.
There are two releases, one for a “minimalist” version and one for an “extended” version (with extended GUI and RPC-API functionality):
https://github.com/gapcoin-project/gapcoin-core/releasesCross-compiled binaries are available, along with the scripts (one for each version) used to generate the binaries (Ubuntu-0.18 VM/host recommended) and a zipped bootstrap.dat file (be prepared to wait a day-and-a-half to a couple of days to sync from 0 if using
-loadblock=bootstrap.dat).
Due to changes in the structure of the wallet code, the 0.16.3 client cannot load a
wallet.dat saved by an 0.9 client. You can't simply copy the wallet file over, you have to use the
dumpwallet command in the command-line/console in the 0.9 client to create a text dump of the wallet. Then, in the 0.16.3 client, use the
importwallet command in the command-line/console to import the dumped wallet.
Step-by-step procedure:
0.9 clientdumpwallet "/tmp/dumped-gapcoin-wallet.txt"
0.16.3 clientimportwallet "/tmp/dumped-gapcoin-wallet.txt" true
(and wait for a few hours while the client scans the entire blockchain's tx history, rebuilding your UTXO set).
Yes.
This is my personal development area, following the
convention for contributions: “The codebase is maintained using the "contributor workflow" where everyone without exception contributes patch proposals using "pull requests".”
Kinda. Just the same as everyone else operating in a decentralized space, I’m obliged to take my cue from the community and its collective response to technical contributions.
As far as the 0.9 client is concerned, I won’t be spending any further time/effort in that direction, either in terms of development or support.
The presence of 0.9 clients in the Gapcoin network does act to constrain some of the functionality of the 0.16.3 client. A couple of examples:
1. Users will note that in the provided
example.gapcoin.conf, the configuration
peerbloomfilters is set to 0, effectively disabling the bloom filter optimisation used in network connections. The reason that this service has been disabled in the config for the 0.16 clients is that 0.9 clients are unable to handle bloom filiter messages and register an error in the log.
2. There is no means of preventing 0.16 clients from creating transactions using segwit addresses which, although not actually causing an error in the 0.9 client, causes it to treat such transactions as “nonstandard” and basically, misrepresent them.
Here's an example from testnet, txid
94cfec5d7da0853f2ba04a3a23957171027a2875a5f43b8cc9bf3cf19d4a5affAs reported by the 0.16 client:
"vout": [
{
"value": 100.00000000,
"n": 0,
"scriptPubKey": {
"asm": "0 8b27793e0c60c3941cbb411d33d7976f2e2451f5",
"hex": "00148b27793e0c60c3941cbb411d33d7976f2e2451f5",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"gpt1q3vnhj0svvrpeg89mgywn84uhduhzg504t95ulk"
]
}
}
As reported by the 0.9 client:
"vout" : [
{
"value" : 100.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "0 8b27793e0c60c3941cbb411d33d7976f2e2451f5",
"hex" : "00148b27793e0c60c3941cbb411d33d7976f2e2451f5",
"type" : "nonstandard"
}
},
At some future time, when a significant majority portion of the Gapcoin network is hosted by 0.16 clients, we can increment the version number and set appropriate values in
chainparams.ccp to enable the community to signal its acceptance of a phased transition to a full segwit-enabled network. At that point we can discuss the issue of incrementing the minimum version number in order to exclude relatively-incapable 0.9 clients from the network.
4. The v0.16.3 source / binary releases would generally now be advisable over running v0.9.2-3 for anyone starting afresh with Gapcoin / Core / Solo / Pool Mining ?
The 0.16.3 client is the only one that I'm prepared to provide any support for in terms of responding to reported issues and/or providing limited help.
Cheers
Graham