Pushed new version.
Due to various reasons, I decided to split out SuperNET into a separate executable from BitcoinDarkd. However, BitcoinDarkd will launch SuperNET as a child process and they are in tight communication. There were just too many deadlock scenarios and also this allows other coins to call into SuperNET directly, but there does need to have a coin like BTCD that is doing all the interfacing.
Anyway, to upgrade, make sure you have cmake installed.
cd btcd/libjl777
git pull
make patch0 # if you didnt patch for the DB support
make patch
make SuperNET
make btcd
I had to create a web interface at port :7777, so you can invoke it from the browser. It uses https with self-signed certificates, so you will have to tell the browser to accept this, or the "-k" option for curl and equivalent
https://localhost:7777/{"requestType":"getpeers"}
or
curl -k --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "SuperNET", "params": ["{\"requestType\":\"getpeers\"}"] }' -H 'content-type: text/plain;'
https://localhost:7777/or
wget --no-check-certificate
https://localhost:7777/{\"requestType\":\"getpeers\"} -o stdout
or
./BitcoinDarkd SuperNET '{"requestType":"getpeers"}'
or two more internal variations that BitcoinDarkd uses to communicate to SuperNET!
It might not seem like much progress, but this required retooling the commands parsing, adding libwebsockets, revamping the BitcoinDarkd side, so it has been a long day. A nice side effect is that this should solve the reentrancy problems that was causing instability and also allows Windows and Mac builds to become much easier. Also, it allows the BDB database to work.
Sometimes you need to battle against systems issues to be able to get the actual code to run in the right context. Another key point is that technically now SuperNET is a standalonable executable, but it does need a coin that is fully integrated with it to properly function.
Oh, the database should work for this and that means things you store in the cloud will be there the next time you run the programs.
James
P.S. Currently SuperNET is launched by BitcoinDarkd but not as a child process, so to update you need to manually kill the process. just too tired to do this and also the polling for broadcast/narrowcasts
P.P.S. It is surving the infinite ping/pong stress test for 1000+ pings so far