<p>There are Objective-C libraries for Bitcoin, like <a href="https://github.com/oleganza/CoreBitcoin" rel="nofollow">CoreBitcoin</a>, but none of them implement an SPV client.</p>

<p>My thinking (I've never developed for iOS, only for android) is that you should use a mature solution, like <a href="https://github.com/bitcoinj/bitcoinj" rel="nofollow">BitcoinJ</a>, and a tool like <a href="http://j2objc.org/" rel="nofollow">J2ObjC</a> to convert it. I think that would give you a faster (in terms of development time) and better-tested solution.</p>

CC BY-SA 3.0
2015-05-22T19:17:49.960Z
Thanks for the CoreBitcoin suggestion Nick. Not sure about converting a Java codebase though... I've had pain with that kind of thing in the past, because the resultant code is often quite hard to work with.
Echelon
CC BY-SA 4.0
2019-09-12T01:47:05.993Z
I am using https://github.com/keeshux/BitcoinSPV but I still face 0 wallet balance. Check my question with my full code:  https://bitcoin.stackexchange.com/questions/90142/bitcoin-spv-not-able-to-fetch-transactions
Paresh Thakor
CC BY-SA 3.0
2015-05-22T18:25:00.927Z
2015-05-22T18:25:00.927Z
Nick ODell
<p>I have found this iOS SPV client library: <a href="https://github.com/keeshux/BitcoinSPV" rel="nofollow">https://github.com/keeshux/BitcoinSPV</a></p>

CC BY-SA 3.0
2015-05-27T22:52:13.660Z
2015-05-27T22:52:13.660Z
Echelon
<p>BreadWallet for iOS is open source, has a permissive license, and uses SPV <a href="https://github.com/voisine/breadwallet/blob/78d67870cdb887bab69ffeab8d808a3cb24d3759/BreadWallet/BRPeer.m" rel="nofollow">https://github.com/voisine/breadwallet/blob/78d67870cdb887bab69ffeab8d808a3cb24d3759/BreadWallet/BRPeer.m</a></p>

CC BY-SA 3.0
2015-05-27T23:07:30.743Z
I just read an article about this guy. I had no idea he'd open-sourced it - thanks!
Echelon
CC BY-SA 3.0
2015-05-27T22:41:20.510Z
2015-05-27T22:41:20.510Z
Bryan Gmyrek
<p>I'm working on a proof-of-concept for a blockchain project and at its core it will need a modified SPV node running on iOS. The reason I need to modify it is so I can build non-standard (e.g. OP_RETURN) scripts without seat-of-the-pants techniques like hacking into the transaction hex.</p>

<p>I'm aware of some basic starting points such as picocoin and libbitcoin which I should be able to compile for iOS. But is there anything else available that would specifically make an SPV node easier to develop on iOS?</p>

<spv><ios>
Source code for SPV node on iOS - where to start?
Echelon
# Source code for SPV node on iOS - where to start?

(Asked by: username_0 on 2015-05-22)

I'm working on a proof-of-concept for a blockchain project and at its core it will need a modified SPV node running on iOS. The reason I need to modify it is so I can build non-standard (e.g. OP\_RETURN) scripts without seat-of-the-pants techniques like hacking into the transaction hex.

I'm aware of some basic starting points such as picocoin and libbitcoin which I should be able to compile for iOS. But is there anything else available that would specifically make an SPV node easier to develop on iOS?

**Tags:** spv, ios


---

## 3 answers

### Answer by username_3 on 2015-05-27. Score: 3 | Accepted answer

BreadWallet for iOS is open source, has a permissive license, and uses SPV <https://github.com/voisine/breadwallet/blob/78d67870cdb887bab69ffeab8d808a3cb24d3759/BreadWallet/BRPeer.m>

> **Comments:**
> **username_0**: I just read an article about this guy. I had no idea he'd open-sourced it - thanks!  

---

### Answer by username_1 on 2015-05-22. Score: 2

There are Objective-C libraries for Bitcoin, like [CoreBitcoin](https://github.com/oleganza/CoreBitcoin), but none of them implement an SPV client.

My thinking (I've never developed for iOS, only for android) is that you should use a mature solution, like [BitcoinJ](https://github.com/bitcoinj/bitcoinj), and a tool like [J2ObjC](http://j2objc.org/) to convert it. I think that would give you a faster (in terms of development time) and better-tested solution.

> **Comments:**
> **username_0**: Thanks for the CoreBitcoin suggestion Nick. Not sure about converting a Java codebase though... I've had pain with that kind of thing in the past, because the resultant code is often quite hard to work with.  
> **username_2**: I am using https://github.com/keeshux/BitcoinSPV but I still face 0 wallet balance. Check my question with my full code:  https://bitcoin.stackexchange.com/questions/90142/bitcoin-spv-not-able-to-fetch-transactions  

---

### Answer by username_0 on 2015-05-27. Score: 2

I have found this iOS SPV client library: <https://github.com/keeshux/BitcoinSPV>


---

