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/releases
Cross-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 client
dumpwallet "/tmp/dumped-gapcoin-wallet.txt"
0.16.3 client
importwallet "/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).
1. This repository: https://github.com/gapcoin-project/gapcoin-core.git is now the main Gapcoin Core v0.16.3 source / release?
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 94cfec5d7da0853f2ba04a3a23957171027a2875a5f43b8cc9bf3cf19d4a5aff
As 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.
Cheers
Graham