Just to be clear, as long as the blockchain exists somebody with the skill can extract all the gaps?
Pretty much, yes. There's less technical effort involved in repeatedly polling the API and dumping the results in a database than it is to write a coin-specific block/chain parser.
And also was wondering that about the other math coins that are similarly neglected primecoin, riecoin and there are others whose names I forget. The problem with submitting them late is only that the work might get done twice?
According to
DOACC (which I ceased updating in Sept 2015), there are four algos using some aspect of prime number calculation to implement a proof-of-work hash but only three are pertinent to this context:
* Prime 6 -
Bytecent - closed source, uninteresting. Self-description asserts that the PoW, whilst
using primes, makes no contribution to the maths at all.
* Cunningham primes:
Pnut,
CDNCoin,
Bernankecoin,
Primecoin,
Datacoin* Prime gap finding as Proof of Work:
Gapcoin* Prime constellations:
RiecoinOnly Primecoin, Datacoin, Riecoin and Gapcoin have active networks, the others are in stasis.
But basically, yes, something
can be done about establishing a means of collating and reporting any reportable results...
In a not-entirely-unrelated strand of investigative work, I've been taking advantage of the blockchain being structured as an acyclic directed graph and
mapping the JSON output (incl. transactions) to RDF, stored, presented and made available for querying via SPARQL, courtesy of
Fuseki. ATM, it's animated via a Pyramid (Python web app framework) prototype web app (which I have whimsically and irritatingly named
ACME “A Cryptocurrency Metadata Explorer”) which, in essence, offers a rather tractable and readily-extensible block explorer.
I have a couple of
pre-production instances implemented for off-the-beaten-track alts, Slimcoin (
http://tessier.bel-epa.com:5064/) and Datacoin (
http://tessier.bel-epa.com:5059/). I hope you'll forgive screenshots - I've yet to upgrade the hardware to support the additional demand on compute resources, so the response time varies from “slow”, through “glacial” to “never” (so, if you're actually trying the links, please be patient ...
Landing page for Slimcoin showing blockchain stats, summary details of the last few blocks and a chart showing the current ratio of Slimcoin tripartite minting:
Datacoin version:
Datacoin's API also offers:
listprimerecords <primechain length> [primechain type]and
listtopprimes <primechain length> [primechain type]From which I can create a presentation (atm, crudely dumped into a single page until I figure out some meaningful UI approach).
Gapcoin's API offers:
listbestprimes amount (min merit)and
listprimerecords meritwhich will also permit of a more accessible presentation.
Progress on Gapcoin ACME ...
The landing page polls the RPC API for the info (on each page reload, it's pre-production).
I've made some progress on mapping the Gapcoin blockchain to RDF ...
gjh@chrome /opt/acme/gapcoin-acme/acme $ ./scripts/blocknotify-catchup.sh
/opt/acme/gapcoin-acme/acme/scripts /opt/acme/gapcoin-acme/acme
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
110000
120000
130000
140000
150000
160000
170000
180000
190000
200000
210000
220000
230000
240000
250000
260000
270000
280000
290000
300000
310000
320000
330000
340000
350000
360000
370000
380000
390000
400000
410000
420000
430000
440000
450000
460000
470000
480000
490000
500000
510000
520000
530000
540000
550000
560000
570000
580000
590000
600000
610000
620000
630000
640000
650000
660000
670000
680000
690000
E
======================================================================
ERROR: test_catchup (__main__.Test_BlockNotifyCatchUp)
----------------------------------------------------------------------
Traceback (most recent call last):
File "blocknotify-catchup.py", line 33, in test_catchup
fp.write(self.g.serialize(format="nt").decode('utf-8'))
File "/opt/acme/gapcoin-acme/lib/python3.5/site-packages/rdflib-4.2.2-py3.5.egg/rdflib/graph.py", line 943, in serialize
serializer.serialize(stream, base=base, encoding=encoding, **args)
File "/opt/acme/gapcoin-acme/lib/python3.5/site-packages/rdflib-4.2.2-py3.5.egg/rdflib/plugins/serializers/nt.py", line 32, in serialize
stream.write(_nt_row(triple).encode(self.encoding, "_rdflib_nt_escape"))
MemoryError
----------------------------------------------------------------------
Ran 1 test in 103949.692s
FAILED (errors=1)
My mistake,
of course 32Gb of RAM is insufficient, the mapping results in 20 to 30 triples per block, * 690,000 = “many” (and 103949.692s / 3600 = 28.874914444444446 hours)
I'll just set it to map 100k blocks at a time.
Oh, ACME also shows txs ...
and presents a (cyclopean) view of the network ...
Seasons' Greetings. More details after the w/end.
Cheers
Graham