I have sent several txs during the last few hours, but I noticed none of them seem to be broadcasted. I don't just mean not confirmed, they don't even show up in block explorers (such as blocktrail.com, blockr.io, blockchain.info, etc). Anything wrong with Mycelium servers?
I just sent a transaction from Mycelium and it too isn't showing up anywhere.
Can I get the raw transaction so I can broadcast it myself? Or at ETA for when it might be broadcast? Or any kind of word on what's going on here?
I didn't use Mycelium a whole lot recently, but as I remember it I used to be able to get details of each transaction, and copy/paste the transaction ID. Now I can't figure out how to do that. Touching a transaction in the transaction list is occasionally selecting it, sometimes just making it flicker, but mostly doing nothing. So I turned the tablet off and on again only to find that the non-broadcast transaction has vanished. When I look at the output I tried to spent at blockchain.info I don't see any pending transaction there either.
So I'm thinking I can export the xprv key, use that to find the output's private key, import it into a real Bitcoin client, and make a conflicting transaction there, just in case the first transaction is stuck somewhere in a Mycelium server somewhere. I don't want to end up paying twice...
Edit: That worked. I used something called 'pycoin' to convert the xprv... string you get from exporting the Mycelium wallet into a Bitcoin wif format private key, imported the private key, and spent the output. It was just 7 commands including the installation of pycoin:
$ cd /tmp
$ virtualenv pycoin.env
New python executable in pycoin.env/bin/python
Installing setuptools, pip...done.
$ source pycoin.env/bin/activate
(pycoin.env)$ pip install pycoin
Downloading/unpacking pycoin
Downloading pycoin-0.52.tar.gz (78kB): 78kB downloaded
Running setup.py (path:/tmp/pycoin.env/build/pycoin/setup.py) egg_info for package pycoin
Installing collected packages: pycoin
Running setup.py install for pycoin
Installing tx script to /tmp/pycoin.env/bin
Installing cache_tx script to /tmp/pycoin.env/bin
Installing genwallet script to /tmp/pycoin.env/bin
Installing bu script to /tmp/pycoin.env/bin
Installing ku script to /tmp/pycoin.env/bin
Installing spend script to /tmp/pycoin.env/bin
Installing block script to /tmp/pycoin.env/bin
Installing fetch_unspent script to /tmp/pycoin.env/bin
Successfully installed pycoin
Cleaning up...
(pycoin.env)$ read x
xprv9yH[...deleted-secret-stuff-here...]
(pycoin.env)$ bitcoin-cli importprivkey $(ku -W -s 0/0 $x) '' false
(pycoin.env)$ bitcoin-cli sendrawtransaction $(bitcoin-cli signrawtransaction $(bitcoin-cli createrawtransaction '[{"txid":"5d858f836924ae205f5397d2a27e98d874bca7cd0711fbe60ae25f80c1adf0a3","vout":0}]' '{"18CzYPg8NrbFbRGghrH1tiWVqWpNZF5jxt":1.8902,"15u9hqee9ibAYVkQ1fPLL45nazJ8DQtyV4":12.27013776}') | grep hex | cut -d'"' -f4)
b969d7eacb7b38e7a1921d78c24add76d3dd9990d952b4de081efbe6a85ecad9
(pycoin.env)$
The 'false' argument at the end of 'importprivkey' tells bitcoind not to rescan the whole chain. I know there's only one output at that address and I know its txid and vout, so scanning the chain would be a waste of time. I used the raw transaction RPC commands, but you could use the coin-control GUI in bitcoin-qt (but for that you would have to let importprivkey rescan the chain).
The "ku -W -s 0/0 $x" part is dumping the WIF format private key for the 0th non-change address in the wallet. The first 0 means "real address, not change address" and the 2nd 0 means "the first address" (it counts from zero).
Edit2: even after the new transaction confirmed, it doesn't show up in Mycelium. I've refreshed, but my balance there shows the same as it was before I spent it all.
Edit3: Edit2 is a lie. The balance does indeed show 0, but the transaction list only shows a single incoming transaction. It doesn't show the one that I made using the bitcoin-cli raw transaction.