Can someone explain what crypto middleware (iguana) does in layman's terms?
enables one click install chrome app to do fully decentralized crypto, without needing to install or run anything else
James
Thanks James! So Iguana will enable wallet access to multiple crypto coins without any blockchain downloads, or just without multiple wallet installs, or both (no wallets, no blockchains)?
iguana talks to multiple coin networks at the same time, directly. BTCD and BTC are built in, but I have abstracted all the differences for the bitcoin compatibles, so additional ones can be added dynamically.
iguana creates native ramchains and I will add ledgerchains on top of it so using less space than the full blockchain, a block explorer level dataset will be available locally
i will also add wallet functions, along with all the supernet services into iguana. Running in native mode, I am seeing pretty good BTC sync times, but I am still debugging the native ramchains, so not sure what the final speed will be.
Also, as a chrome app, things are much slower due to the networking being a lot slower so I wouldnt recommend loading the full BTC blockchain into the chrome app, though most other coins will fit. there is a 10GB limit on chrome storage now, so that is a limiting factor as the BTC blockchain is estimated to take around 20GB
the same codebase compiles into a native unix or osx version though, so for native mode iguana will be the fastest to sync BTC chain to a working wallet. Once I get the basic iguana working, then I will add a lite mode version so the full BTC chain isnt needed locally
since iguana works as a chrome app, all the GUI is locally running HTML talking direct to the embedded JS bytecodes. I still need to add more things like script parsing and external RPC, but I just got the hardest part mostly working.
In my tests using native 64bit versions using parallel mode, on my laptop with 20mbps connection, I am getting a full sync in ~6hrs. With dedicated server VPS (32GB RAM, normal HDD, 500mbit/sec) it is syncing in a bit less than 30 minutes.
Latest tests show it never uses more than a few GB of RAM during the processing and I think I have a way to make an "instant-on" data structure, but not sure yet how fast a restart will be.
iguana codebase is currently ~10,000 lines of C code and its only external dependency is openssl and curl so the build process is: gcc -o iguana *.c -lssl -lcrypto -lpthread -lcurl -lm
for now native mode is only for benchmarking and debugging and you need to pass in a command line JSON to get it syncing.
With direct access to the various bitcoin compatibles from the same context, it will be possible to do some pretty cool things. but first I need to get the basics completed and released, so that is what I am doing.
Repo:
https://github.com/SuperNETorg/iguana_devTask Boards:
https://github.com/SuperNETorg/iguana_dev/issues &
https://phabricator.supernet.org/tag/iguana/We currently use Github AND Phabricator for task management.
Wiki:
https://phabricator.supernet.org/w/iguana/API:
http://pad.supernet.org/apiGuide for new devs:
http://pad.supernet.org/iguana_new_frontend_dev_guideIguana Dev Team and their Roles:
http://pad.supernet.org/iguana_dev_teamIguana TABS (like pages, includes details on content of tabs):
http://pad.supernet.org/iguana_tabsSome general info:
http://coremedia.info/index.php/bitcoin-2-0/item/187-project-iguana-to-birth-a-supernet-chrome-app-increase-accessibility-of-its-technologyJames