Whilst fumbling around in another atcoin's innards, I found myself looking at
the solution to adding an accumulating total of burned coins to the results of a
getinfo call, a copynpasta adaptation of the existing code that implements the associated moneysupply value:
https://github.com/slimcoin-project/Slimcoin/commit/ad8077c040d5dd0483efd21e11e92ea4a3e99168It is a soft fork because
blkindex.dat must be rebuilt from scratch and so users are obliged to sync-from-genesis via the network.
My preferred solution is to have a synced-up node (compiled from master) running off've standard port 41682 and when I run the node compiled from the totalburnt, I call it thusly:
$ ./slimcoind -datadir=/home/gjh/.slimcoin/reindex -conf=/home/gjh/.slimcoin/reindex/slimcoin.conf -connect=127.0.0.1:41682i.e. I've told it to use
/home/gjh/.slimcoin/reindex as its
datadir and similarly with
-conf.
(I actually have the connect declaration in the conf file, its use in the command-line example is strictly speaking superfluous, albeit illustrative.)$ ./slimcoind -datadir=/home/gjh/.slimcoin/reindex -conf=/home/gjh/.slimcoin/reindex/slimcoin.conf getinfo
{
"version" : "SLMv0.5.0-24-gad8077c0-alpha",
"protocolversion" : 60003,
"walletversion" : 60000,
"balance" : 0.00000000,
"newmint" : 0.00000000,
"stake" : 0.00000000,
"blocks" : 804,
"moneysupply" : 18331.01000000,
"totalburnt" : 2977.49000000,
"connections" : 1,
"proxy" : "",
"ip" : "0.0.0.0",
"difficulty" : 0.02217633,
"testnet" : false,
"keypoololdest" : 1504919979,
"keypoolsize" : 101,
"paytxfee" : 0.01000000,
"errors" : ""
}$ ./slimcoind -datadir=/home/gjh/.slimcoin/reindex -conf=/home/gjh/.slimcoin/reindex/slimcoin.conf getinfo
{
"version" : "SLMv0.5.0-24-gad8077c0-alpha",
"protocolversion" : 60003,
"walletversion" : 60000,
"balance" : 0.00000000,
"newmint" : 0.00000000,
"stake" : 0.00000000,
"blocks" : 157787,
"moneysupply" : 1702548.61565800,
"totalburnt" : 587129.62050900,
"connections" : 1,
"proxy" : "",
"ip" : "0.0.0.0",
"difficulty" : 0.12167454,
"testnet" : false,
"keypoololdest" : 1504919979,
"keypoolsize" : 101,
"paytxfee" : 0.01000000,
"errors" : ""
}I think that's a fix.
Syncing continues. When the process has completed, I'll repeat the exercise on the server and add a separate totalburnt datadir snapshot to (optionally) alleviate the necessity of syncing from genesis via the network.
Summarising: standard
datadir will NOT work with totalburnt client and totalburnt
datadir will NOT work with standard client. In both cases, resyncing from 0 is required. But that's
all that is required and it
is a regulation dance move (c.f.my GTA VC analogy).
(BTW, the load-from-bootstrap functionality never worked, it always fails when it can't find an index. A functioning feature was added sometime in the procession of 0.8.X versions but has, thus far, staunchly resisted all of my attempts to backport it.)I'll report back later on progress.
Cheers
Graham