Bitcoin nowadays is not only a cryptocurrency or a digital payment system. Actually, thanks to its unique features bitcoin has become a real instrument for investment, saving and even earning more money. In this article we want to talk about 3 most popular bitcoin app SDK, that can help you to develop your own app.
Thank their functionality you can create bitcoin wallet, a tool for investors, bitcoin game or any other app connected with this cryptocurrency. Also to check the popularity of analyzed SDKs our team of mobile app developers created three real examples of bitcoin wallets. See them below
Blockchain (BC)
Blockchain (BC)
Blockchain is regarded as the most popular bitcoin wallet in the world. Nowadays more than 14 million wallets are registered in BC worldwide. Moreover, Blockchain has a full stack of free APIs for developers, so we start our analysis with it.
Supported platforms: Android, iOS, Windows, Mac OS, Linux
Blockchain is very popular service. It supports many programming languages in form of libraries for its API (Python, Java, NET, Ruby, PHP, Node etc.).
Service uses two different API keys:
- Receive Payments V2 API KEY: an easy way for websites to receive payments in bitcoins. This option is completely free and safe. It is ideal for business and personal using.
- Blockchain Wallet API KEY: full access to all functions of this service like creating a wallet, making payments, sending transactions, address management and so on.
To receive any of the keys one must request API from BC. The application contains a name of person/organization, e-mail, and URL of the website or app.
This process is supposed to exclude different ways of fraud or using keys for unfair purposes. So that in the request you should also describe what are you going to use Blockchain service for. Requests for API keys usually are accepted or denied within 2-3 business days.
Blockchain has its own clients (apps) for Android and iOS. Those are very successful. For instance, Blockchain’s Bitcoin Wallet was downloaded more than million times on Google Play. Besides New York Times and the Wall Street Journal put it amongst the world’s most popular bitcoin wallets.
Pricing: free
Our sample:
On GitHub, you can find our sample app based on Blockchain API. It is using Java library from Blockchain.
The application has two main functions:
- Create a wallet.
- Exchange rates for bitcoin.
Get source code and explore Blockchain
BitcoinJ
BitcoinJ
BitcoinJ SDK is cross-platform SDK (Java, JavaScript) for working with Bitcoin system. Written by Mike Hearn, BitCoinJ is more lightweight and accessible version of the original Bitcoin client. The project has full documentation, which allowed many large Bitcoin apps and services to use this SDK.
Supported platforms: Windows, Android
BitcoinJ is implemented in Java but can be used from any JVM-compatible language, including C++, JavaScript, Ruby, Python, and others.
This SDK allows users to work with TestNet3 (official bitcoin test network), MainNet (original and main network for Bitcoin transactions) and also to set up a private server.
BitcoinJ doesn’t require registration because in this case bitcoin wallet is created on the device. So that it doesn’t need consumers’ personal information (private key) and therefore SDK is very safe.
BitcoinJ has very rich functionality. It includes creating a new wallet with password encryption, working with existing wallet, checking balance, sending and receiving bitcoins. Also, this SDK can provide developers with needed tools for exchange rate conversion, encryption, possibility to get a lot of information about transactions, to get unconfirmed transactions, to customize the process of confirming transactions etc.
Service has own SPV mode. It enables users to download only part of bitcoin blockchains and work with it. As a result, users don’t have to download full blockchain. This is very comfortable for mobile devices because full blockchain size reached 100GB in December 2016 and it doubles in size every year.
BitcoinJ SDK has its own open-source application. Based on it Bitcoin Wallet now has over 1 million downloads on Google Play.
Pricing: free
Our sample:
On GitHub, you can find our sample app based on BitcoinJ SDK. The application works with test network TestNet3 and contains multiple features:
- Create a wallet
- Check balance
- Receive and send transactions
- Free test bitcoins
- Generate your wallet address QR code
- Scan recipient’s wallet address QR code
The example uses additional libraries like Android Annotations, QRGen, and Zxing.
Note: When you launch application first time it may take up to 15 minutes, but it happens only once. So be patient and drink some tea or coffee meanwhile.
Get source code and explore BitcoinJ
Coinbase
Coinbase
Coinbase SDK is cross-platform SDK (Java) for working with bitcoin system. Also, this name stays for American digital asset exchange company. Coinbase operates exchanges of digital assets with fiat currencies in 32 countries, and bitcoin transactions and storage in 190 countries worldwide.
Supported platforms: Android, iOS
Official Coinbase libraries include Java, Ruby, Python, Node.js, and PHP.
This SDK enables users to get information about the current exchange rate of bitcoin (and history of its changes) or other currencies without registration.
Two methods are used in Coinbase for authentication:
- API KEY. Can be created and activated in your API settings on the website. In this case, you can access your own account or merchant orders only;
- Redirect to the official site using OAuth token. This method allows users to access their personal accounts and manage wallets and works well for mobile apps.
After registration is completed all types of operations can be performed including buying and selling bitcoins for other currencies, sending transactions etc. Though some functionality is limited and wouldn’t work in all countries.
Coinbase has official apps on Google Play and iOS. Its Bitcoin Wallet for Android has now over million downloads what brings it into tops of similar apps.
By the way, Coinbase allows users to work not only with bitcoins but also with other cryptocurrencies like ethereum and litecoin.
Pricing: free.
Our sample:
Our sample application on Github is using the Coinbase Android SDK. The app works with official Coinbase Wallet and contains next features:
- Authorization
- Check balance
- Send and receive bitcoins
- Current exchange rate of bitcoin
- Currency/bitcoin exchange rates calculator
This sample app also uses RxAndroid library.
Get the source code and explore Coinbase.
SDK Feature Comparison
We decided to sum up the possibilities of SDK named above. As we can see from our spreadsheet the functionality is almost the same, however, there are some differences.
Blockchain |
BitcoinJ |
Coinbase |
|
Supported programming languages |
Python, Java, NET, Ruby, PHP, Node |
Java, Javascript (also works with any JVM-compatible languages) |
Python, Java, Ruby, PHP, Node.js |
Price |
Free |
||
Supported cryptocurrencies |
Only bitcoin |
Only bitcoin |
Bitcoin, ethereum, and litecoin. |
Wallet API |
+ |
+ |
+ |
Buy/sell and send/receive bitcoin |
+ |
+ |
+ |
SPV mode |
– |
+ |
– |
Private Key Control |
+ |
+ |
– |
Market Data |
+ |
+ |
+ |
Notifications about transactions |
+ |
+ |
+ |
On the whole Bitcoin Wallets created with SDK listed above are very successful and can be even called the leaders of the app stores. Our developers tried each of them and proved that SDKs are also quite easy to use.