MarcoPon
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 17, 2014, 12:31:31 PM |
|
Hi! First, congratulations to Mycelium devs! It's really a nice piece of software.
This post just to let you know of a minor kind of issue, in case it wasn't already known (I skimmed briefly the thread, but I may have missed it).
I noticed a big slow down showing the details of a transaction that I just got, to the point that Android asked if I wanted to terminate the app. Never happened before. Turn out it was a payment from a mining pool, and to tone down the fees it had a big amount of outputs (about 2500 or so). The entire transaction size was about 100KB.
So, surely an unusual situation and not really a problem. Maybe if a transaction is especially big / compex, Mycellium could just show up a brief summary and point to Blockchain.info, or something like that.
|
|
|
|
apetersson
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 17, 2014, 01:12:43 PM |
|
Hi! First, congratulations to Mycelium devs! It's really a nice piece of software.
This post just to let you know of a minor kind of issue, in case it wasn't already known (I skimmed briefly the thread, but I may have missed it).
I noticed a big slow down showing the details of a transaction that I just got, to the point that Android asked if I wanted to terminate the app. Never happened before. Turn out it was a payment from a mining pool, and to tone down the fees it had a big amount of outputs (about 2500 or so). The entire transaction size was about 100KB.
So, surely an unusual situation and not really a problem. Maybe if a transaction is especially big / compex, Mycellium could just show up a brief summary and point to Blockchain.info, or something like that.
can you give me the Txid? or the address that you watched? what we can do is reduce the amount of data shown that is interesting (for example only show the watched address and add +2500 extra addresses) for example, we show payouts of eligius mining pool in a nice way, where you only see your own info. with further effort it is possible to write "endedless lists" in android where you have to scroll huge amounts.
|
|
|
|
|
mav
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 10:48:08 AM |
|
I'm loving mycelium wallet and am recommending it to people who ask me what to use. I've got a question about broadcasting transactions from mycelium wallets. Sometimes when I send a transaction it takes a while before it is broadcast to the bitcoin network. I've noticed that whenever this delay happens, the delayed transaction is always announced just after a new block is found. My questions are - is it really a delayed broadcast or am I mistaken in my deduction from my observations? - why is the delay happening? - is it unique to mycelium or is it something that can happen on any wallet? This has affected me in a contrived test environment when sending lots of transactions in a row (and is how I have been able to correlate a delayed broadcast with a new block being found). I almost wrote it off as something that won't affect real-world use cases, but this did affect me today in real life when I bought something at a shop with mycelium, then ten minutes later I bought another thing at a different shop and the second transaction didn't broadcast. I loaded blockchain.info and saw the last block was about 20 minutes old. As soon as the new block was found, my second transaction was announced. First transaction - https://blockchain.info/tx/2ce67ec3f2e5d63625d809bc0f513036273dce6fd68691590eb940ef02e79c6fSecond transaction - https://blockchain.info/tx/bfe8801f7779ca18dbb6f387784f2d898f00e0929e80b28d27c36780558f5c75I should clarify when I say 'broadcast to the bitcoin network' I mean that I can see the transaction with zero confirmations on blockchain.info or in the destination coinjar.com wallet. When it is 'delayed' I cannot see the transaction on either of these services at all. Any help in understanding this is much appreciated.
|
|
|
|
Jan (OP)
Legendary
Offline
Activity: 1043
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 19, 2014, 09:07:31 AM |
|
I'm loving mycelium wallet and am recommending it to people who ask me what to use. I've got a question about broadcasting transactions from mycelium wallets. Sometimes when I send a transaction it takes a while before it is broadcast to the bitcoin network. I've noticed that whenever this delay happens, the delayed transaction is always announced just after a new block is found. My questions are - is it really a delayed broadcast or am I mistaken in my deduction from my observations? - why is the delay happening? - is it unique to mycelium or is it something that can happen on any wallet? This has affected me in a contrived test environment when sending lots of transactions in a row (and is how I have been able to correlate a delayed broadcast with a new block being found). I almost wrote it off as something that won't affect real-world use cases, but this did affect me today in real life when I bought something at a shop with mycelium, then ten minutes later I bought another thing at a different shop and the second transaction didn't broadcast. I loaded blockchain.info and saw the last block was about 20 minutes old. As soon as the new block was found, my second transaction was announced. First transaction - https://blockchain.info/tx/2ce67ec3f2e5d63625d809bc0f513036273dce6fd68691590eb940ef02e79c6fSecond transaction - https://blockchain.info/tx/bfe8801f7779ca18dbb6f387784f2d898f00e0929e80b28d27c36780558f5c75I should clarify when I say 'broadcast to the bitcoin network' I mean that I can see the transaction with zero confirmations on blockchain.info or in the destination coinjar.com wallet. When it is 'delayed' I cannot see the transaction on either of these services at all. Any help in understanding this is much appreciated. Thanks for all the details. Let me explain how transaction broadcasting works on our side: Our servers are connected to 500+ nodes each. Whenever Mycelium pushes a transaction to our servers it is immediately broadcasted to half of those nodes (250). From there it is proliferating the network and eventually gets echoed back to us through the other 250 nodes. We use this data to calculate a proliferation rate, which can be used for calculating a "confirmation confidence" (along with other observations) for zero confirmation transactions. Right now this data is not displayed in Mycelium. When we broadcast a transaction we get the first echoes back after about half a second, and reach >90% proliferation within a few seconds. I have on several occasions observed that blockchain.info misses unconfirmed transactions, this is a general trend and unrelated to Mycelium. Other developers I have spoken to have made similar observations. I think it is a bug on the blockchain.info side, or maybe they just skip some transactions when their system is overloaded. In the end it all gets resolved when the transaction finally confirms. If you see the same behavior with coinjar it could be because they use blockchain.info as their backend system. I really have no idea what they do though. Let me know if there is any thing else.
|
Mycelium let's you hold your private keys private.
|
|
|
Dabs
Legendary
Offline
Activity: 3416
Merit: 1912
The Concierge of Crypto
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 19, 2014, 12:38:39 PM |
|
That's interesting. On my laptop, I still use bitcoin-qt, and I only get connected to 8 to 20 nodes. Every transaction I make, with or without fees, appears in blockchain.info within 1 to 2 seconds as soon as I broadcast it.
Your servers sending to 250+ nodes should get noticed by blockchain immediately.
|
|
|
|
riX
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 20, 2014, 08:49:11 AM |
|
I noticed a small bug; when scanning a qr code for sending with amount=0.0892, the amount sent was exactly 0.089, so it seems amounts gets rounded somehow.
(Wrote this here since apparently Google now requires google+ for commenting in play store).
|
|
|
|
Jan (OP)
Legendary
Offline
Activity: 1043
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 20, 2014, 09:13:12 AM |
|
That's interesting. On my laptop, I still use bitcoin-qt, and I only get connected to 8 to 20 nodes. Every transaction I make, with or without fees, appears in blockchain.info within 1 to 2 seconds as soon as I broadcast it.
Your servers sending to 250+ nodes should get noticed by blockchain immediately.
I believe it is a matter of how many transactions you send. I have noticed it once in a while, but I don't have any statistics.
|
Mycelium let's you hold your private keys private.
|
|
|
Jan (OP)
Legendary
Offline
Activity: 1043
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 20, 2014, 09:25:54 AM |
|
I noticed a small bug; when scanning a qr code for sending with amount=0.0892, the amount sent was exactly 0.089, so it seems amounts gets rounded somehow.
(Wrote this here since apparently Google now requires google+ for commenting in play store).
Thanks for the report. I am unable to reproduce this. I have made a payment request and sent it to myself in an email like this: Tap Receive -> tap the keyboard icon -> enter 0.0892 -> Ok -> Share Payment Request -> Gmail -> my email address Result: bitcoin:1BoBsT2QicxGf3eroqcaXTwz9qaYiZZSNC?amount=0.0892I have turned the string into a QR-code: http://imgur.com/KJnqj3HWhen I scan it I get the correct amount 0.0892 Here is the transaction i sent: https://blockchain.info/tx/51096ef74647dd692b2bb64c88f0b9ff1b87fc231daf1ba3533ed771f9ae5043If you can reproduce the bug please send me a copy of the QR code you scanned.
|
Mycelium let's you hold your private keys private.
|
|
|
Rassah
Moderator
Legendary
Offline
Activity: 1680
Merit: 1035
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 22, 2014, 09:49:09 PM |
|
I noticed a small bug; when scanning a qr code for sending with amount=0.0892, the amount sent was exactly 0.089, so it seems amounts gets rounded somehow.
Which app was the QR code created with, Mycelium, or something else?
|
|
|
|
RGBKey
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 26, 2014, 06:39:59 AM |
|
I've got a suggestion, what if Mycelium could use NFC to send bitcoins to another phone? Like you press send, then tap NFC instead of QR and the others and then you type in an amount, then you put your phone up against the other person's which provides a receiving address, and your phone shows a bitcoin icon that you tap to send the coins (also enter PIN). A little easier when both people have phones than scanning qr codes, and takes advantage of newer technology. Thoughts?
|
|
|
|
Jan (OP)
Legendary
Offline
Activity: 1043
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 26, 2014, 08:05:48 AM |
|
I've got a suggestion, what if Mycelium could use NFC to send bitcoins to another phone? Like you press send, then tap NFC instead of QR and the others and then you type in an amount, then you put your phone up against the other person's which provides a receiving address, and your phone shows a bitcoin icon that you tap to send the coins (also enter PIN). A little easier when both people have phones than scanning qr codes, and takes advantage of newer technology. Thoughts?
We should look into that. I actually think that it would be a small change. I only have one NFC enabled device, but I think Andreas has access to two ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) My thinking is that the receiving device should broadcast a Bitcoin URI with optional amount when on the Receive page, and the sending device automatically populates address/amount if it receives the URI when on the Send page. This could be a start and from that we could investigate whether it is feasible / secure to automatically launch the app when close to an NFC device.
|
Mycelium let's you hold your private keys private.
|
|
|
RGBKey
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 26, 2014, 11:33:43 PM |
|
I've got a suggestion, what if Mycelium could use NFC to send bitcoins to another phone? Like you press send, then tap NFC instead of QR and the others and then you type in an amount, then you put your phone up against the other person's which provides a receiving address, and your phone shows a bitcoin icon that you tap to send the coins (also enter PIN). A little easier when both people have phones than scanning qr codes, and takes advantage of newer technology. Thoughts?
We should look into that. I actually think that it would be a small change. I only have one NFC enabled device, but I think Andreas has access to two ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) My thinking is that the receiving device should broadcast a Bitcoin URI with optional amount when on the Receive page, and the sending device automatically populates address/amount if it receives the URI when on the Send page. This could be a start and from that we could investigate whether it is feasible / secure to automatically launch the app when close to an NFC device. That would make sense, and as to the security part, I think any kind of threat would come from someone managing to broadcast a different bitcoin URI, but i'm not sure how they would manage to do that, because the N in NFC stands for near. I think it's open to critisism and thought right now. Also, i've noticed that when using the app, turning on autofocus doesn't automatically focus anything continuously. My app is always focused to the distance when the camera is opened, and it never changes, so I sometimes have to go back and hit qr code again. So scanning can be difficult sometimes.
|
|
|
|
msc
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 26, 2014, 11:38:49 PM Last edit: January 27, 2014, 12:36:49 AM by msc |
|
We should look into that. I actually think that it would be a small change. I only have one NFC enabled device, but I think Andreas has access to two ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) My thinking is that the receiving device should broadcast a Bitcoin URI with optional amount when on the Receive page, and the sending device automatically populates address/amount if it receives the URI when on the Send page. This could be a start and from that we could investigate whether it is feasible / secure to automatically launch the app when close to an NFC device. That sounds really nice. I've been thinking that NFC should be an option. It would also open the door for smaller devices without a camera or full display to authorize transactions on their own. All they'd have to do is display the price and get a confirm or deny from the user.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 01:22:35 PM |
|
Yeah, Andreas' wallet just puts a bitcoin URI into the NFC tag.
|
|
|
|
RGBKey
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 03:10:58 PM |
|
Yeah, Andreas' wallet just puts a bitcoin URI into the NFC tag.
This would probably be the easiest option. Bonus points if there's a cool animation lol
|
|
|
|
Richy_T
Legendary
Offline
Activity: 2534
Merit: 2245
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 03:17:03 PM |
|
I was going the reverse engineer approach but since there are signed keys involved this is probably not possible
As I understand it the complete source of the Mycelium wallet app is on github, what keeps you from reading the portion of the code that is talking with their servers to understand what the server must do and replace the SSL certificate in the code with the one of your own server once you have managed to write one? You're right I could do the same thing, just alot more work to figure out how each call to the API relates to talking to the bitcoin node. I preferred not to because its hard to really look inside of a closed loop to see what is going on from every angle. If people really wanted this Im guessing someone would do it anyway, or they can simply open up their API like they should. Having it closed to me means there are hidden agenda's we don't know about. I looked into the BitcoinSpinner source and the API was pretty straightforward. I'm guessing that the Mycelium API is similar if not identical as there are only so many things you can do and so many ways to do them. My main complaint was that it relied on serialized Java objects rather than a more general standard. It only took me a couple of hours to find what I was trying to look for and I'm not even a Java guru. I think the major part of writing a version of this would be the whole blockchain side of things. Possibly you'd want to look at that Abe project someone else is working on.
|
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
|
|
Richy_T
Legendary
Offline
Activity: 2534
Merit: 2245
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 03:18:26 PM |
|
We are expanding! We are determined to deliver the best mobile wallets in the Bitcoin space. To do this we need more hands on deck. We are currently have four positions open: - DevOps Engineer for Bitcoin Technologies
- Mobile Developer for Bitcoin Technologies
- Community Manager for Bitcoin Technologies
- Embedded Systems Developer
Details: http://megiontechnologies.com/career.htmlThis sounds like a lot of fun. I'm not looking to move though, unfortunately ![Sad](https://bitcointalk.org/Smileys/default/sad.gif)
|
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
|
|
Richy_T
Legendary
Offline
Activity: 2534
Merit: 2245
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 03:23:52 PM |
|
Still not enough to say that the SPV store is not the correct way to do it, because you don't have to download from genesis block. You would download from last checkpoint, or somethign smarter in the future by maybe the last block of the first transaction of the wallet which MUST be after the earliest original checkpoint.
Are there any mobile wallets out there that connect to a running version of Bitcoind that you're running at home? That would seem to be the way to go to me if you wanted to stay decentralized (Though I'm happy with the Mycelium model for walking-around purposes).
|
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 27, 2014, 04:10:05 PM |
|
You can set a "trusted peer" in the Schildbach wallet, which makes it connect to only that address.
|
|
|
|
|