Title: Introducing BitcoinKit, a Cocoa framework for building iOS and OS X Bitcoin apps Post by: hivewallet on July 15, 2013, 10:03:32 AM Hi everyone!
We're pleased to announce a little work that may make a few developers' lives easier. BitcoinKit.framework is a Cocoa framework that allows developers to write Bitcoin wallet apps for Mac OS X. BitcoinKit uses bitcoinj, and serves a small and tidy API for developer use. BitcoinKit's first application is as the backbone of a new Mac wallet app called Hive (https://bitcointalk.org/index.php?topic=304060.0). Grab the source here: https://github.com/hivewallet/BitcoinKit Support is available via GitHub issues (https://github.com/hivewallet/BitcoinKit/issues) and this Bitcointalk thread. A sample GUI app is also included: https://i.imgur.com/FzqA00X.png Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on July 15, 2013, 10:15:07 AM reserved
Title: Re: Introducing BitcoinKit.framework Post by: rme on July 15, 2013, 10:16:26 AM Interesting ;D
Title: Re: Introducing BitcoinKit.framework Post by: jonas.schnelli on July 15, 2013, 11:39:34 AM Looks great.
I'm looking forward to see native non-java SPV clients. I also tried to make one of bitcoinj (GCJ),.. but seams to be very hard and not so stable (and some overhead ;D). How about the effort of adding SPV features (like Multibit)? Would mean that you work on your own network layer instead of using bitcoind's. If you plan to create a "easy wallet", i think SPV and bloom filters would be necessary. </jonas> Title: Re: Introducing BitcoinKit.framework Post by: mnyonpa on July 15, 2013, 11:50:01 AM Thank you very much for your efforts!
Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on July 15, 2013, 11:52:31 AM Hi Jonas!
Yeah we absolutely plan to do this. We're either going to end up extending some of Jeff Garzik's work or write our own SPV wallet and include it in the bundle. We were pretty frustrated with the lack of non-Java options too. :/ If you're interested in helping out, please send me a message! Cheers! Title: Re: Introducing BitcoinKit.framework Post by: Mike Hearn on July 15, 2013, 02:01:29 PM Writing an entire implementation of Bitcoin (even in SPV mode) is a ton of work. You should REALLY consider just using bitcoinj and finding a way to deal with the Java aspect.
I'm looking at alternatives to GCJ for using bitcoinj from native code, like transpilation into C++, but it would be a huge shame if someone ended up rewriting all that code just to avoid writing some binding/glue code. It would result in a lot of duplication of effort that slows everyone down. JNI is ugly, but there are tools that can write binding code for you. Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on July 15, 2013, 02:55:39 PM Writing an entire implementation of Bitcoin (even in SPV mode) is a ton of work. You should REALLY consider just using bitcoinj and finding a way to deal with the Java aspect. I'm looking at alternatives to GCJ for using bitcoinj from native code, like transpilation into C++, but it would be a huge shame if someone ended up rewriting all that code just to avoid writing some binding/glue code. It would result in a lot of duplication of effort that slows everyone down. JNI is ugly, but there are tools that can write binding code for you. You're right, and we're well aware of this, but we're looking for a clean long-term solution. I'd say we're far from against trying to make bitcoinj work, but our resistance to that approach has more to do with the lack of a guaranteed JVM in Mac OS X. We could simply include it in the application package, but that is far indeed from ideal. As we were saying on bitcoin-development, the idea of a transpilation sounds very interesting. No one on our side has ever tried to do something like that. If we can encourage you to put on your lab suit and give it a whirl, well... It would certainly not go unappreciated! Title: Re: Introducing BitcoinKit.framework Post by: Jaxkr on July 15, 2013, 07:13:43 PM The text animation on grabhive.com is really obnoxious. Personally, I'd recommend the text fades in one line at a time.
Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on July 16, 2013, 06:08:59 AM The text animation on grabhive.com is really obnoxious. Personally, I'd recommend the text fades in one line at a time. I'm sorry that you don't like it. It will be gone soon enough though. :-) Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on July 30, 2013, 01:07:57 PM Just a quick note to say that released Tor.framework, which works with this, here:
https://bitcointalk.org/index.php?topic=264767 Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on October 07, 2013, 05:11:54 PM First non-Hive app to use BitcoinKit is released! Enter MacWallet (https://bitcointalk.org/index.php?topic=307200.0)! Congrats Jonas!
https://raw.github.com/MacWallet/MacWallet/master/Screenhots/shot1.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/shot2.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/shot3.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/settings1.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/send1.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/send2.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/send3.png https://raw.github.com/MacWallet/MacWallet/master/Screenhots/txinfo1.png Title: Re: Introducing BitcoinKit.framework Post by: hivewallet on October 31, 2013, 06:21:26 PM The BitcoinKit repo URL has been changed to the following:
https://github.com/hivewallet/BitcoinKit Title: Re: Introducing BitcoinKit.framework Post by: jsuder on November 20, 2013, 07:38:55 PM Small progress update - I've been doing some backend changes & fixes in Hive lately, so that naturally means BitcoinKit changes & fixes too:
1) Exception handling: - all Java exceptions thrown during calls from the Cocoa side will be wrapped in Cocoa exceptions and thrown back to the caller - exceptions on Java background threads (at least those handled by bitcoinj's uncaughtExceptionHandler) will also be wrapped in NSException and either passed to a provided exception handler block, or thrown on the main thread 2) Added walletDebuggingInfo method which calls bitcoinj's wallet.toString(), this returns a kinda-human-readable block of text with various info about the wallet. 3) Added estimatedBalance property which includes total balance available now + that which is currently blocked because of unconfirmed transactions. (Pending balance = estimatedBalance – balance) 4) BitcoinKit now presents itself as "BitcoinJKit 0.9" when connecting to other peers (I'll add a method to set a custom app-specific user agent later). 5) Minor fixes to transaction dictionary data returned from HIBitcoinManager methods (e.g. date formats). 6) Updated bitcoinj to v. 0.10.2 (previous version was before 0.10). Title: Re: Introducing BitcoinKit.framework Post by: Mike Hearn on November 21, 2013, 10:59:53 AM Nice! It's great to see BitcoinKit maturing like that.
Title: Re: Introducing BitcoinKit.framework Post by: jsuder on December 20, 2013, 02:09:22 PM Hi,
we're still working hard on adding new features to Hive and BitcoinKit. Here's what changed in BitcoinKit in the last month:
If you're working on an app that uses our library, please let us know! Title: Re: Introducing BitcoinKit.framework Post by: jsuder on January 17, 2014, 01:05:49 PM Monthly BitcoinKit update:
Title: Re: Introducing BitcoinKit.framework Post by: jsuder on June 23, 2014, 02:54:23 PM Hi there,
lots of updates in BitcoinKit since my last post:
Let us know if you're using BitcoinKit in your app! Also: Mike Hearn is working on integrating a different JVM that can be bundled in the app, so in the future it should be possible to drop requirement for a JRE installed in the system. |