Got it - cheers!
I think the only thing that is worth merging ATM is the export part - it doesn't hurt and can be useful.
Import, as I said, is just not reliable and shouldn't get released in this form... Maybe after we make it reliable, so importing once would be enough.
I was planning to integrate that into my online wallet, however I'm not very fond of decoding the rawdata myself...
If the user pastes the whole output of gettransaction it would be much easier, and maybe also a plus in usability; this way if you have multiple exported transactions, you can easily see which is which.
The rest of the output of gettransaction is just useless for this.
Of course you can move everything to your online PC, but importing of the transaction will only use the rawdata anyway.
So why don't you just give it the rawdata only and spare the JSON-parsing part.
if you make a standalone webservice for that, I would consider installing it on my server - if I can figure out how; what language/framework would you use?
From the user's point of view, there will be a webform, textarea where he puts the raw tansaction data, clinks "Send" and that should do all the job he needs.
What happens inside?
There is a simple PHP script that stores the given rawdata in an SQL table.
The table has at least 3 columns:
1) rawdata
2) trid (will be returned by a first call to "importtransaction")
3) timestamp (when the last import was issued for this transaction)
In the background you have a cron function that kicks in every minute or so.
It looks into the SQL table and:
1) Immediately calls "importtransaction" for any transaction that has not been imported yet - sets trid and timestamp accordingly.
2) Checks
http://blockexplorer.com/tx/XXXX to verify if any of the transactions imported before are already confirmed - if so: remove it from the table.
3) If a last time of a transaction is more than 30 minutes (and it is still in the table) - call "importtransaction" with it again, updating the timestamp to the current time.
That's it - in reality its easier to implement than it sounds.
What you need is PHP, SQL and a running bitcoin server with the "importtransaction" patch.
But it doesn't need to be a secured node, because it does not store any money, only injects transactions into the network.
You could also think of making a simple command line tool that would connect to an existing bitcoin node (no need for "importtransaction" patch) and just announce the transaction using the standard bitcoin protocol. But I'm not sure how complex this solution would be, is there some handshake or something...