Bitcoin Forum

Bitcoin => Project Development => Topic started by: fingster on July 24, 2011, 04:40:43 PM



Title: Bitcoin Express -- an iOS thin client for bitcoin
Post by: fingster on July 24, 2011, 04:40:43 PM
Bitcoin Express
Bitcoin Express (BTC Express) is the first iOS thin client for Bitcoin transactions.

Bitcoin Express can connect you to the bitcoin network in a second without downloading any blocks or headers. Once connected, you can do transactions immediately!

Features

  • Quickly and easily get up and running on bitcoin network.
  • Show balance of btc in your wallet on iPhone.
  • Do transactions with any other peer running Mac, Windows or Linux, etc.
  • Sending and receiving of Bitcoin via Bitcoin URLs.
  • Backup your wallet to your secure email.

Getting Started

Email your recieving address to others

Click and enter "My Address", choose a btc address as your recieving address, touch it. Click "email" on the popup menu, then send the recieving address to others via your Email.

Send btc to others via Bitcoin Address URL

When you received an email contains a Bitcoin Address URL, by just clicking the URL, BTC Express will automatically open and prepare to send btc to that address.

Preview
http://www.bitcoinexpress.net/images/1.png
http://www.bitcoinexpress.net/images/2.png
http://www.bitcoinexpress.net/images/3.png
http://www.bitcoinexpress.net/images/4.png
http://www.bitcoinexpress.net/images/6.png

Technical Discussion: http://forum.bitcoin.org/index.php?topic=31356.0
MIT Licensed Open Source: https://github.com/fingster/BTC-Express
UI partially based on: https://github.com/udibr/bitcoinApp
Beta version download: http://www.megaupload.com/?d=9RX93T9V


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on July 25, 2011, 09:58:21 AM
submitted to App Store today.  ;)


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: davout on July 25, 2011, 10:48:48 AM
Great ! How do you manage to pull it off without downloading the chain ? Headers only ?
Is it open or closed source ?


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: hsf_context on July 25, 2011, 11:38:32 AM
Great! How does it work without downloading blocks ?


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: Coaster on July 26, 2011, 03:22:43 AM
The real question is.. will apple* approve the app if your using a currency not purchased through their store? Which prolly wouldn't be allowed anyway. This goes outside the realms of their EUL and ToS because its allowing you to manage a currency not apple taxed.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: samr7 on July 26, 2011, 02:45:58 PM
Great! How does it work without downloading blocks ?

fingster may have to correct me, but it looks like it does download blocks.  However, instead of retaining the full block database like the normal client, it retains only the wallet database, including transactions on associated addresses, and discards everything else.

Edit: Never mind, I don't have a clue.  So what's "txwithtime" ?

It's an impressive reduction of the Satoshi client by any measure.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: ttk2 on July 26, 2011, 02:49:04 PM
As much as i usually love to lord the superiority of Android over iPhone users, the lack of a real iPhone Bitcoin client, or even just something like this is sad and it bodes ill for Bitcoin in the real world when 30% of the smartphone market is unable to have dedicated apps. 


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: jago25_98 on July 26, 2011, 06:56:45 PM
Let's put a bounty on for the source. I pledge a BTC


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: jackjack on July 26, 2011, 07:40:48 PM
Am I the only one to see that in his post?
Quote
Technical Discussion: http://forum.bitcoin.org/index.php?topic=31356.0
MIT Licensed Open Source: https://github.com/fingster/BTC-Express
UI partially based on: https://github.com/udibr/bitcoinApp
Beta version download: http://www.megaupload.com/?d=9RX93T9V


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on July 27, 2011, 11:05:48 AM
Great! How does it work without downloading blocks ?

fingster may have to correct me, but it looks like it does download blocks.  However, instead of retaining the full block database like the normal client, it retains only the wallet database, including transactions on associated addresses, and discards everything else.

Edit: Never mind, I don't have a clue.  So what's "txwithtime" ?

It's an impressive reduction of the Satoshi client by any measure.

It's really exciting to know someone reading my source code. Thanks, samr7.
A block contains several transactions. Few of them involve your wallet, which are useless in the view of an individual peer.  As a "selfish" client, BTC Express downloads transactions involving its own wallet but not any full block/header (even the block which contains its transactions). The server, which BTC Express connects to, stores everything as a normal peer. When BTC Express queries the server, what transactions have been done on an addresses in its client wallet, the server will send transactions involving that address by a batch of commands "txwithtime".

"txwithtime", means a transaction with its block time (the born time of the block containing the transaction). BTC Express uses the transaction's blocktime as its time and received time.

After that, BTC Express sees the global state of bitcoin network as the server does. And BTC Express can spend btc coins in its wallet immediately as a normal peer after downloading all of the blocks.

When a normal peer starts, it loads block indexes, peer addresses and wallet into its memory. The full block indexes cost lots of memory and loading time. BTC Express only need to load wallet, so it starts in seconds and costs much lower memory.
BTC Express doesn't broadcast its network address to the bitcoin network, in order to save network traffic amount for the mobile devices.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: nightwolf on July 27, 2011, 11:56:07 PM
Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  ;D


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on July 28, 2011, 01:10:37 AM
Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  ;D

The UI program codes are going to be open source after apple's review.
However, I don't have copyright on the UI elements, including icons, background pictures, etc. I am asking their author Pottor200, see if it's OK to be open source. And that part has not been decided yet.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: nightwolf on July 28, 2011, 06:34:36 AM
Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  ;D

The UI program codes are going to be open source after apple's review.
However, I don't have copyright on the UI elements, including icons, background pictures, etc. I am asking their author Pottor200, see if it's OK to be open source. And that part has not been decided yet.

Awesome and wish you all the best with App Store review.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: kangasbros on July 28, 2011, 07:44:47 AM
Awesome work. Hope that it passes the App Store review.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: flyswatta on July 28, 2011, 11:35:56 AM
If its not approved, will u release it in Cydia?


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: andrepcg on July 28, 2011, 03:06:27 PM
I installed the app and now i'll review it :D

the app itself is awesome! pay with btc from my iphone is great!

this is the test I made to see if it works fine:
1. sent 0.01 BTC from my windows client to my iphone
2. the 0.01 were received after the 1st confirmation
3. i'm trying to send the 0.01 BTC back to my client but i cant

The first problem is when i'm typing the amount of BTC, I don't have the dot . as decimal separator because in my country we use , as decimal separator. Using , the app tells me the amount is invalid.

The second problem is after the correct amount is input in the field (0.01), i cant send back the payment because it says Insufficient funds. My iphone account balance is 0.01 by checking Balance section.

I get something different when i input 0.0090 as amount. i get: "Error: this transaction requires a tx fee of at least 0.0005 and a relay fee of 0.001, because of its amount, complexity....."

I can only send the funds when i set the amount as 0.0085.

Why am I paying two fees? What is the relay fee?

Suggestion: When sending funds, if I set the amount to send and that amount is the total BTC I have in iphone wallet, it should accept my 0.01 as input and deduct the fees after sending. People dont want to be testing values like myself. I input 0.01 and got error, then input 0.0095 and same error, then 0.009 and different error, and finally 0.0085 and it was accepted. The app itself should calculate the fees at the end and whe dont have to be testing amounts


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: UniverseMan on July 28, 2011, 09:31:37 PM
I like the ideas behind the client, and I hope this app gets certified.

But please, PLEASE, fix the hideous UI. Those backgrounds have to go, at the very least because they make the icon text hard to read. The color scheme looks dirty and sickly. iOS apps typically don't have Springboard-style layouts, i.e. a "home screen" and several icons to click, they have one visible screen that can be switched to different tabs (facebook is a notable exception to this).

These are just off the top of my head. I'm sure others could supply more suggestions.

But, again, good luck. I wish you the very best with this project.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on July 29, 2011, 12:49:56 AM
I installed the app and now i'll review it :D

the app itself is awesome! pay with btc from my iphone is great!

this is the test I made to see if it works fine:
1. sent 0.01 BTC from my windows client to my iphone
2. the 0.01 were received after the 1st confirmation
3. i'm trying to send the 0.01 BTC back to my client but i cant

The first problem is when i'm typing the amount of BTC, I don't have the dot . as decimal separator because in my country we use , as decimal separator. Using , the app tells me the amount is invalid.

The second problem is after the correct amount is input in the field (0.01), i cant send back the payment because it says Insufficient funds. My iphone account balance is 0.01 by checking Balance section.

I get something different when i input 0.0090 as amount. i get: "Error: this transaction requires a tx fee of at least 0.0005 and a relay fee of 0.001, because of its amount, complexity....."

I can only send the funds when i set the amount as 0.0085.

Why am I paying two fees? What is the relay fee?

Suggestion: When sending funds, if I set the amount to send and that amount is the total BTC I have in iphone wallet, it should accept my 0.01 as input and deduct the fees after sending. People dont want to be testing values like myself. I input 0.01 and got error, then input 0.0095 and same error, then 0.009 and different error, and finally 0.0085 and it was accepted. The app itself should calculate the fees at the end and whe dont have to be testing amounts

Thank you very much for your suggestion!
I'd work on it to calculate the max btc a client could send and give a useful tip on the max value to user.


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on July 29, 2011, 12:57:39 AM
I like the ideas behind the client, and I hope this app gets certified.

But please, PLEASE, fix the hideous UI. Those backgrounds have to go, at the very least because they make the icon text hard to read. The color scheme looks dirty and sickly. iOS apps typically don't have Springboard-style layouts, i.e. a "home screen" and several icons to click, they have one visible screen that can be switched to different tabs (facebook is a notable exception to this).

These are just off the top of my head. I'm sure others could supply more suggestions.

But, again, good luck. I wish you the very best with this project.

I use the Three20 framework to implement UI, so the App is fb-style like.
I will re-design the UI as soon as possible.
Thank you!


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: done on July 29, 2011, 02:09:34 AM
So cool  8)


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: stsbrad on July 29, 2011, 04:08:38 AM
this looks wonderful. I'll beg for you to add a bump feature!


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: casascius on July 29, 2011, 04:19:17 AM
Why am I paying two fees? What is the relay fee?

The relay fee is ostensibly a fee being charged by the maker of the app who is running a "relay server" to do the work of actually communicating with other bitcoin nodes and holding a copy of the full block chain, and perhaps digesting and filtering the block chain so that the client can download only the transactions it cares about, rather than downloading everything and throwing the unwanted portion out.



Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: dinox on July 29, 2011, 06:03:52 PM
Is the connection between you (the server) and the client SSL-secured with static cert to prevent MITM attacks? I don't want anyone to find out which addresses I own...


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: slothbag on August 19, 2011, 02:40:10 PM
This is a great step towards using bitcoin on the iPhone.  I have tested putting coins on the phone and that worked great, havent tried sending them yet, hopefully that is working ok.

Have you got any feedback from Apple re approval for the App Store?

Any chance of implementing some QR code scanning? :)


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: Sultan on August 19, 2011, 02:50:29 PM
This gonna be available on Android Market?


Title: Re: BTC Express -- an iOS thin client for bitcoin
Post by: fingster on August 21, 2011, 02:30:38 PM
Thanks for all your encouragement and advice.

The App Store's reviewer didn't know much about how to get bitcoins. So I re-submitted btc express app with some detailed instructions. Now, waiting for review, again.

'A bump feature' seems more interesting and convenient than QR code. Both are on the way ;)


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: fingster on August 26, 2011, 08:00:16 AM
It's been many days for "In review" status...

DateStatus
August 22, 2011 16:26In Review
August 22, 2011 16:24Waiting For Review
August 22, 2011 16:24Upload Received
August 22, 2011 16:21Waiting For Upload
August 22, 2011 14:11 Rejected
August 22, 2011 09:20In Review
August 15, 2011 23:47Waiting For Review

 ??? ??? ???


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: vv01f on August 26, 2011, 08:11:25 AM
I really thought about it and there is nothing coming to my mind why clearly to reject such an app regarding the idea and the common known objections of apple.

There should not be any money without fee for apple in apps. Ok, but the txfee in BTC is first optional and secondly not "money" but product. Or does the definition of money not affect apple :\

After all it might be that they doan need a reason to reject  :-[

If they reject it, are you gonna publish elsewhere?


But we all hope und root for you and your app.


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: fingster on August 28, 2011, 12:57:42 AM
Apple rejected it again for the same reason, law issue.

Binary Rejected Aug 25, 2011 04:58 PM
Reasons for Rejection:
22.1: Apps must comply with all legal requirements in any location where they are made available to users. It is the developer's obligation to understand and conform to all local laws
Aug 25, 2011 04:58 PM. From Apple.
22.1

We found that your app contains content related to bitcoins - or facilitates, enables, or encourages an activity - that is not legal in all the locations in which the app is available, which is not in compliance with the App Store Review Guidelines.

We encourage you to review your app concept and evaluate whether you can incorporate different content and features that are in compliance with the Guidelines.

To appeal this review, please submit a request to the App Review Board.


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: slothbag on August 30, 2011, 05:20:47 AM
This truly sucks, and highlights the major problem with the Apple ecosystem.

Whats your plan for BTC Express? Will we see updates on git-hub for those who run it jailbroken?

Do you have any other options for getting it in the app store?


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: fingster on August 30, 2011, 07:05:08 AM
This truly sucks, and highlights the major problem with the Apple ecosystem.

Whats your plan for BTC Express? Will we see updates on git-hub for those who run it jailbroken?

Do you have any other options for getting it in the app store?

I changed the app available location to Japan, and sent an appeal request to App Review Board.
If Bitcoin Express can't win this "legal or not" argument, it will be ported to Macs and PCs and open-sourced on git-hub.


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: Icoin on September 04, 2011, 05:04:05 AM
thanks for the awesome peace of work !!
i like the way how the Bitcoin Address is shared, is it possible to build in a QR-Code Generator for the Bitcoin Address ?



Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: slothbag on September 28, 2011, 04:32:51 AM
Looks like the relay server for this is no longer accessible.

App no longer works.


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: eckmar on November 22, 2011, 03:10:25 AM
...

I changed the app available location to Japan, and sent an appeal request to App Review Board.
If Bitcoin Express can't win this "legal or not" argument, it will be ported to Macs and PCs and open-sourced on git-hub.


So is it now at git-hub available?
Could you post a link here?
Is it open source now and somebody could pick up this great project?

Sunny regards from Koh Samui,
 Eckmar Eckel


Title: Re: Bitcoin Express -- an iOS thin client for bitcoin
Post by: mc_lovin on December 21, 2011, 03:33:58 PM
No longer working?  This project could revolutionize the bitcoin world forever, someone plz continue this and make it Android compatible!

edit: commented before reading Apple's rejection.  I think the big companies are truly afraid of bitcoin if they are calling it "illegal"!