On the iguana side, I have basilisk mode into testing now. Basilisk nodes rely on iguana full nodes to provide public information data about the blockchain. Currently the following remote calls are supported:
getinfo – returns standard getinfo
balances – returns the balance and listunspent data and spend data for array of addresses
value – returns the value, spend script and unspent status of a specific txid/vout
It might not seem like enough, but from the above, a basilisk node is able to construct a functioning listunspent and from that it constructs the higher level RPC calls, such as sendtoaddress. All the signing is done locally and each vin is verified with multiple peers to have the correct value. Since a spoofed vin will either just not get a valid signatures, the only damage a hostile node can do is provide an unspent with an incorrect value and making a baslisk node overspend. That is why each vin’s value is verified as a final step before signing.
I have 10 servers running BTCD (most of the time) as a long term test to make sure they all stay in sync. I also am running a pair of servers with BTC, LTC, DOGE, SYS and GMC. So those coin’s should work in basilisk mode.
Current GUI mostly supports basilisk mode as the API is the same for either mode as is the RPC layer, however some things like sync status tend to jump around with the getinfo data coming from different remote iguana nodes.
As soon as a new coin has a few iguana full nodes running and connected to the supernet, then all basilisk nodes will be able to add that coin and have a local wallet without needing the blockchain locally.