SuperNET Weekly No. 4

CORE and CORE Media were birthed out of the community which formed around the SuperNET project launched by jl777 in 2014. Now that many aspects of the project are finally coming together in fantastic form and usable products are just around the bend, we couldn’t be more pleased to help spread the word and keep our audience up to date on the latest happenings with this revolutionary project and its technology. Welcome to SuperNET Weekly!

JL777 went into hiding this week as he remained in his coding cave. Of course, this means that a lot of progress was made in his absence from SuperNET Slack as he has been busy coding without distraction. Nonetheless, we’ve uncovered some recent jl777 quotes offering insight on his latest progress.

Iguana Timeline

“I have a pretty complete roadmap in mind. The first step is to achieve a fully functional Iguana wallet as all the services require that. I just got the unspent data generated without adding any extra time. The total dataset size is 17GB compressed into read-only files, 1.2GB for the accounts and 35GB for signatures which can be purged after the initial sync. I plan to increase the 1.2GB a little bit as today I figured out how to allow calculation of any address’ balance as of any block and that seems worth an extra 400MB. So with a dataset size of less than 20GB, it gets more than any block explorer does and much, much more than the raw bitcoind. It’s one-third the size, is created in as little as half an hour and has a full block explorer level dataset for all addresses, including multisig, at any block.

Once this is validated, then I’ll move on to the atomic cross chain protocol so that the “bitcoin” virtual exchange works as Poloniex does in the InstantDex API. Then it’ll be Pangea. Then it’ll be PAX.

I’m not sure where the jumblr, micropayments and asset passports fit in, but I have a set of usecases in mind that needs to be supported and will get them done as fast as I can but held to a quality standard. It took me ~4 months to get Iguana to where it is so, while it was new tech, it was well worth it, especially considering the external events that happened after the switch.

To my knowledge there are less than 5 Bitcoin Core equivalents ever written and most of them are ports of the bitcoind. Iguana is one of very few totally-from-scratch implementations of Bitcoin Core and, of course, it directly supports BTCD and can run a full BTCD node as a Chrome app while running a validating BTC node at the same time.” ~jl777

BTC and BTCD Blockchain SYNC

“I now have Iguana doing a parallel BTC and BTCD sync in about one hour and catching up to realtime blocks. I still need to make sure the volatile data is properly updated. At that point, RPC like listunspent will be able to be easily completed as long as the data is valid. But Iguana listunspent will be able to be queried as of any block for any address, including multisig. Bitcoind can’t do that, neither could insight DB, so we ended up making a special mod to bitcoind to create a snapshot.

info: block chain size = 63.487 Gigs

info: initializing hash tables

info: estimated number of blocks = 498.82K

info: estimated number of transactions = 128.85M

info: done initializing hash tables – mem = 0.000 Gigs

info: pass 1 — walk all blocks and build headers …

1.48% (0.90/60.55 Gigs) — 163729 blocks — 3.19 Megs/sec — ETA 19613 secs — ELAPSED 295 secs

Just iterating through the existing database takes 19613 seconds, or over 5 hours, when Iguana syncs from the network in one hour and builds a dataset that is able to be queried as of any block for any address. But Iguana uses less HDD space and protects its dataset with read-only files. However, Iguana is taking 2MB of codespace. Now I am testing BTC and BTCD at the same time. It seems to catch up to realtime while parallel syncing. I found and fixed a bug that had several instances and since then things have been pretty stable.

Who is available for testing IguanaCore?

It now creates both historical read-only data and realtime data and so I am debugging listunspent. Once that is working, the rest is pretty straightforward, but it would be nice to know the historical data is 100% solid. That would require some code to compare insight DB against Iguana, but just having users verify proper balances will be helpful as initially maybe the balances won’t even match due to some transactions being miscounted. For now, Iguana doesn’t create new blocks, so there is no danger as any bad transaction it would make will just be rejected. It just needs to use the training wheels at first to make sure it is ready to run on its own.” ~jl777

Testing Iguana

“You’d need to compile Iguana for your platform and start Iguana. To do a speed test you can follow this thread:

https://bitco.in/forum/threads/bandwidth-test-version-iguana-for-unix.963/ ~jl777

Bandwidth Test Version – Iguana for UNIX

I was bothered by losing half the performance, so I experimented to find and fix this. I had to throw out last week’s code dealing with scripts. If you are willing to test the APIs, you can follow this:

https://github.com/SuperNETorg/SuperNET-Docs

I’m going to update the Iguana files there in SuperNET-Docs repo.” ~jl777

JL777 and His Role With WAVES

There has been some confusion as to jl777’s role in WAVES. There have been a variety of complaints brought forth in SuperNET Slack stating that jl777 is starting a new project without finishing his previous work. This is not true. jl777 is advising and investing in WAVES but is not actively working on it. WAVES was initiated by Coinomat in response to the NXT 2.0 proposal and is being coded from scratch in Scorex by Kushti.

What may have given some the wrong idea regarding jl777’s role in WAVES is that WAVES plans to implement an atomic cross chain asset transfer protocol currently under development by jl777. This implementation will allow assets on WAVES to be transferred to another asset-hosting blockchain such as BTCD.

JL777 began developing this protocol in response to the NXT 2.0 proposal which many in the NXT and SuperNET communities considered to severely disadvantage asset holders and the NXT asset exchange. This protocol will give SuperNET asset holders the freedom to move their assets to another blockchain if in opposition to the changes proposed for NXT 2.0. It will allow for one-way transfers from protocol-enabled blockchains to other asset-hosting blockchains and two-way transfers between protocol-enabled blockchains.

For more information on SuperNET and the work of jl777 and his team, please refer to previous SuperNET Weekly articles and our monthly CORE Magazine and be sure to follow the progress via SuperNET Slack or the SuperNET website.