Post
Topic
Board Announcements (Altcoins)
Re: Slimcoin | First Proof of Burn currency | Test v0.5 release candidates
by
gjhiggins
on 09/09/2017, 11:19:56 UTC
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/ad8077c040d5dd0483efd21e11e92ea4a3e99168

It 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:41682

i.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