How do I develop mobile applications for Bitcoin?

14

2

I would like to develop a mobile Bitcoin application for the Android and iPhone platforms. What libraries and resources can I use?

devrandom

Posted 2011-08-30T21:18:22.287

Reputation: 143

Answers

9

Currently there are only a few mobile apps that use the bitcoin protocol itself. Most communicate with a bitcoin client on a remote machine using the JSON API.

Those few that do, rely on BitcoinJ which is a "selfish" implementation of bitcoin that runs in Java (handily the native language for Android apps). It's got a few key modifications that bring its overhead low enough to run on embedded devices, most notably it does not download all blocks in the block-chain, only those blocks which relate to addresses in its own wallet (hence "selfish" client).

Either method works, and either is as valid a starting point as the other, given the current state of bitcoin's mobile development.

David Perry

Posted 2011-08-30T21:18:22.287

Reputation: 14 120

3

Bitcoin client provides RPC calls which are in JSON, you could communicate via the RPC to make your app.

Codler

Posted 2011-08-30T21:18:22.287

Reputation: 950

2

The development forum of course! There is a great deal of code you could repurpose over on github. I would think android development would be easier, and maybe a good starting point.

If you know C++, definitely check out the bitcoin core.

Alex Waters

Posted 2011-08-30T21:18:22.287

Reputation: 3 101

1

You can develop a light weight and yet secure mobile app on top of the BCCAPI. The BCCAPI is implemented in Java and connects to a server that does the heavy lifting required to manage the block chain. However, the server does not have your private keys, and depends on the mobile device to sign transactions.

BitcoinSpinner is an example of an Android app built on top of the BCCAPI.

If you were to use this to make an iPhone app you would have to port the BCCAPI from Java to a C-like language.

Jan

Posted 2011-08-30T21:18:22.287

Reputation: 451