Bitcoin Forum
November 01, 2024, 06:15:02 PM *
News: Bitcoin Pumpkin Carving Contest
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Bitcoin Express -- an iOS thin client for bitcoin  (Read 11624 times)
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 24, 2011, 04:40:43 PM
Last edit: August 23, 2011, 12:35:34 AM by fingster
 #1

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
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 25, 2011, 09:58:21 AM
 #2

submitted to App Store today.  Wink
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1008


1davout


View Profile WWW
July 25, 2011, 10:48:48 AM
 #3

Great ! How do you manage to pull it off without downloading the chain ? Headers only ?
Is it open or closed source ?

hsf_context
Member
**
Offline Offline

Activity: 67
Merit: 10



View Profile WWW
July 25, 2011, 11:38:32 AM
 #4

Great! How does it work without downloading blocks ?

Digital artist for hire! Sketches anyone?
Want a custom Photoshop artwork? PM me! GIF banners available too!
Coaster
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
July 26, 2011, 03:22:43 AM
Last edit: July 26, 2011, 04:51:47 AM by Coaster
 #5

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.

samr7
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
July 26, 2011, 02:45:58 PM
Last edit: July 26, 2011, 02:59:13 PM by samr7
 #6

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.
ttk2
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
July 26, 2011, 02:49:04 PM
 #7

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. 

Just in case i do something worthwhile: 12YXLzbi4hfLaUxyPswRbKW92C6h5KsVnX
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
July 26, 2011, 06:56:45 PM
 #8

Let's put a bounty on for the source. I pledge a BTC

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
July 26, 2011, 07:40:48 PM
 #9

Am I the only one to see that in his post?
Quote

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 27, 2011, 11:05:48 AM
 #10

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.
nightwolf
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
July 27, 2011, 11:56:07 PM
 #11

Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  Grin
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 28, 2011, 01:10:37 AM
 #12

Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  Grin

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.
nightwolf
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
July 28, 2011, 06:34:36 AM
 #13

Brilliant way to reduce processing power down to iOS level. Is your "edit" of the UI open-source as well?  Grin

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.
kangasbros
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1006



View Profile
July 28, 2011, 07:44:47 AM
 #14

Awesome work. Hope that it passes the App Store review.

flyswatta
Member
**
Offline Offline

Activity: 100
Merit: 10



View Profile
July 28, 2011, 11:35:56 AM
 #15

If its not approved, will u release it in Cydia?
andrepcg
Full Member
***
Offline Offline

Activity: 230
Merit: 100



View Profile
July 28, 2011, 03:06:27 PM
 #16

I installed the app and now i'll review it Cheesy

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
UniverseMan
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
July 28, 2011, 09:31:37 PM
 #17

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.
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 29, 2011, 12:49:56 AM
 #18

I installed the app and now i'll review it Cheesy

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.
fingster (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 29, 2011, 12:57:39 AM
 #19

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!
done
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
July 29, 2011, 02:09:34 AM
 #20

So cool  Cool
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!