The notary nodes will be making a custom transaction that is created by the group of notary nodes. In order to minimize the transaction size (it will be big enough as it is!) it needs to have exact amounts, ie no change from each participating notary node.
To do this, what is needed is a way to split funds into many of the same value outputs. Unfortunately, there is no standard way to do this, so a way to generate custom transactions of this form is needed. It sure is a good thing we have iguana!
In a few hours I created a new iguana API:
THREE_INTS(iguana,splitfunds,satoshis,duplicates,sendflag);
This creates and signs a transaction with the same amount duplicates number of times and optionally broadcasts it to the network.
To use it: curl --url "
http://127.0.0.1:7778" --data "{\"coin\":\"BTC\",\"agent\":\"iguana\",\"method\":\"splitfunds\",\"satoshis\":\"1000\",\"sendflag\":0,\"duplicates\":5}"
It just defaults to using the wallet's default address as the destination:
{"result":"0100000002ae6e92f5c04ead73d5cae9f12183dbee776d0b35c7fdd99269e021d3a3fd4c6f00000
0006b483045022100fcbae1e6dc89188086beb9c664d7d7c174d97933a2cfdd4b24d60e26bd6257
0b022068c5f2d882a31c44e431614542a10a4ec92915ea6a92754d9ac9b6611d5741750121020e0
f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223a47c2fffffffffc534b16052
0da5b1a6811d2575fe685a609f1508a97cdb927db9250200c6679b000000006b483045022100f87
6996b471ee53bc303a9d5463e7e9c3aaf5ea173b2c034eb91b5d3a20ea6210220033f79a7d9217b
2d5f18445bda5784858cbe665275a5fbb80a9a41270ddf51390121020e0f6fe6e0fcdcac541eb72
8d6fe538a12adff20412b3c8a7fa892b223a47c2fffffffff06e8030000000000002321020e0f6f
e6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223a47c2face803000000000000232
1020e0f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223a47c2face803000000
0000002321020e0f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223a47c2face
8030000000000002321020e0f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223
a47c2face8030000000000002321020e0f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7
fa892b223a47c2fac5e6c0000000000001976a914b7128d2ee837cf03e30a2c0e3e0181f7b9669b
b688ac00000000","txid":"32b4940bcdacfcbd676898c985dfc10f7c47ae8a7e27bbd9429d9294ceb07e15","completed":true,"tag":"16872458888818271775"}
And sure enough, it confirmed just fine:
https://blockchain.info/tx/32b4940bcdacfcbd676898c985dfc10f7c47ae8a7e27bbd9429d9294ceb07e15You might notice the spend scripts for the duplicates are the form:
020e0f6fe6e0fcdcac541eb728d6fe538a12adff20412b3c8a7fa892b223a47c2f OP_CHECKSIG
This is an older way to do things, but it has the advantage of not needing the pubkey in the scriptsig when it is spent and it also makes it clear what pubkey can spend the funds. So it saves 21 bytes per input, which will addup.
This API is now working code and it is pushed to
https://github.com/jl777/SuperNETTo the trolls, this probably doesnt count for anything as it has no GUI. The fact I was able to do it in a few hours, well I leave it to the ready to decide if it means anything or not