i got the iguana full nodes to provide tx construction services for the basilisk lite nodes. the latter dont need any blockchain and rely on iguana consensus for balance and txconstruction services and the protocol is fully abstracted so any coin that supports a basilisk plugin will work. Currently there are only three low level functions that are needed for bitcoin protocol, "balances", "rawtx" and "value" the last is to verify that the constructed spend is spending the correct value and avoids needing to do "heavy" SPV merkle tree validations as if the constructed rawtx has the wrong input values, basilik rejects it, if the output is wrong, basilisk rejects it, if it has a double spend, the network will reject it and the iguana node wont get its fee. I also threw in an auction mechanism, so the lowest fee rawtx that matches consensus is chosen. For inputs with coinage, all iguana nodes will construct the identcal rawtx as a deteministic method is used for unspent selection. I will add an avoid list so a basilisk node can do multiple rawtx requests per block and still have all nodes generate identical rawtx
This is just one method of earning money by running an iguana node. The more coins you run, the more fees you can earn. For coins that are just bitcoin forks without any protocol changes, the following curl request is all that is needed for iguana to do a parallel sync for it:
genltc:
curl --url "
http://127.0.0.1:7778" --data "{\"RELAY\":1,\"VALIDATE\":1,\"prefetchlag\":-1,\"poll\":10,\"active\":1,\"agent\":\"iguana\",\"method\":\"addcoin\",\"startpend\":8,\"endpend\":8,\"services\":129,\"maxpeers\":256,\"newcoin\":\"LTC\",\"name\":\"Litecoin\",\"hasheaders\":1,\"useaddmultisig\":0,\"netmagic\":\"fbc0b6db\",\"p2p\":9333,\"rpc\":9334,\"pubval\":48,\"p2shval\":5,\"wifval\":176,\"txfee_satoshis\":\"100000\",\"txhastimestamp\":0,\"minoutput\":10000,\"minconfirms\":2,\"genesishash\":\"12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2\",\"genesis\":{\"version\":1,\"timestamp\":1317972665,\"nBits\":\"1e0ffff0\",\"nonce\":2084524493,\"merkle_root\":\"97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9\"},\"alertpubkey\":\"040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08
dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9\",\"protover\":70002}"
Granted, it is quite a lot of coin specific info, but given just the above, iguana can do a full parallel sync. If you have a coin you want to support, most of the above details can be found from blockexplorer of genesis block, or maybe just post in that coin's thread. I will accept pull requests for genCOIN scripts.
The corresponding basilisk script just changes a few values:
ltc:
\"RELAY\":0,\"VALIDATE\":0,\"prefetchlag\":11,\"poll\":100
\"startpend\":1,\"endpend\":1,\"services\":128,\"maxpeers\":16
It took 20 minutes to fully sync LTC and 5 minutes for SYS. Runtime resource usage isnt fully optimized yet for basilisk, but first step is to get the iguana full nodes in place. Once they are in place, then LP services will provide significantly more revenue potential, but always it is providing decentralized services and market driven fee levels.
BTCD blockchain will be where service provider availability and status will be posted and also for when a fast blocktime is needed.
Now you might be worried that iguana having to support all the coins at the same time will mean it is a large program, but its code size is less than 2MB. And that code handles all the coins, InstantDEX and even has the alpha versions of pangea and PAX built in, so if anything the size will probably get a bit smaller.
It has a single external dependency: pthread
So no boost, no networking lib, nothing external to hassle with. I did incorporate directly the libsecp256k1-zkp and portions of gmp.
I still have the "last mile" to code up and debug, but now is the time to get the iguana nodes in place. The more nodes, the more coins can be supported, the more basilisk wallet will be used, the more people will trade, the more fees to be earned.
SuperNET will be running a few service providing nodes, along with MGW so end users will always have service available and fees can be directly earned.
iguana fees will flow through the corresponding asset, ie InstantDEX for DEX fees, pangea for pangea fees, etc. but there will be some things without any corresponding asset like wallet txfees and those will flow through crypto777. There will be a 10% royalty for all the fees that go to crypto777, which I believe is small enough to not impede adoption, but big enough to be meaningful when things go mainstream.
Of course, BTCD transaction levels will go up, so staking BTCD will earn more fees from all this.
MGW and SuperNET nodes wont get any special preference and they will compete on open market regarding fees with whoever else is running a service provider node. This assures best prices and smallest spreads for users and the market will automatically adjust prices.
What revenue levels are possible? It all depends on factors that are hard to estimate ahead of time, but considering that iguana is quite a bit ahead of anything else and BTCD is starting to deploy real world dapps, it is a good place to be.
I know all the dapp platforms are getting all the attention, but who exactly will create the mass market useful dapps? Some weekend casual programmer or me? There is nothing the dapp platforms provide that isnt already available with bitcoin + iguana, so in a sense BTCD is a dapp platform and has a dedicated dev creating mass market potential dapps. Ultimately as crypto transitions out of the "dot-com" type of bubble, the surviving projects will be the ones that get mass market usage and thus the mass market revenues.
For those that think 10% is too low a fee for crypto777, I guess my thinking is that economies with 10% tax rates tend to grow a lot more than those with 50% tax rates and even though it is 1/5th the nominal rate, it can often generate a lot more actual gross revenues than the high tax rates.
InstantDEX necessarily has a 1/777 fee 0.14% to prevent attack vectors, without that fee it can be attacked and it works out to be right in the range of typical exchange commission rates. I will have more info on InstantDEX details in the coming weeks (yes weeks, not months) just dont know exact timing as I prioritize fixing bugs in iguanacore and that means I dont know how much time I have available for the other parts. So far there havent been that many bugs.
For those that think that it has taken too long to get here, I ask, how many other bitcoin core implementations are out there that can run many coins at once. And how long those took to create and how large they are and if it can run in a purely lite mode or a revenue generating full node basis. If so, I could have saved a lot of time and cut and pasted it.
For those worried others will just cut and paste it, the code is GPL so whatever improvements they make will come back into iguana and if they make no improvements, then it seems they will have troubles getting adoption. Not to mention they would need to keep up with me improving my codebase.
James