About
Combining a modified Bitcoin Core infrastructure with an intercompatible version of the Ethereum Virtual Machine (EVM), Qtum merges the reliability of Bitcoin’s unfailing blockchain with the endless possibilities provided by smart contracts.
Designed with stability, modularity and interoperability in mind, Qtum is the foremost toolkit for building trusted decentralized applications, suited for real-world, business oriented use cases. Its hybrid nature, in combination with a first-of-its-kind PoS consensus protocol, allow Qtum applications to be compatible with major blockchain ecosystems, while providing native support for mobile devices and IoT appliances.
Getting Started
1)Clone project
2)Open with Android Studio
Configurations
The project has two configurations: default and local.
Default configuration contains mainnet parameters.
If you want to define your network settings, then you
1)Build project (gradle creates local.properties
configuration file)
2)Edit local.properties
configuration file.
Setting Custom Network Parameters
package org.qtum.wallet.utils.CurrentNetParams
public static NetworkParameters getNetParams() {
return QtumMainNetParams.get(); // or QtumTestNetParams.get();
}
public static String getUrl() {
return "http://127.0.0.1:5555/";
}
Change return value in getUrl()
method like this
Gradle version
com.android.tools.build:gradle:2.3.3
Minimal Android SDK Version
19
Build Tools version
25.0.3
Technologies
- Java (v. 7)
- Google Firebase (v. 9.0.2)
- Java RX (v. 1.1.6, Android RX – v. 1.2.1)
- Retrofit 2 (v. 2.1.0)
- Socket IO (v. 0.8.3)
Third Party Libraries (gradle)
'com.github.designsters:android-fork-bitcoinj:1.+'
– fork bitcoinj (with QTUM functionality)'com.google.zxing:core:3.2.1'
– QR-Code/Barcode scanner'io.reactivex:rxjava:1.1.6', 'io.reactivex:rxandroid:1.2.1'
– Java RX'io.socket:socket.io-client:0.8.3'
- Socket IO Client'com.squareup.retrofit2:retrofit:2.1.0'
HTTP Client
Android Fork BitcoinJ
The android fork bitcoinj library is a Java implementation of the Bitcoin protocol, which allows it to maintain a QTUM wallet and send/receive transactions without needing a local copy of Bitcoin Core. It comes with full documentation and some example apps showing how to use it
Link: https://github.com/bitcoinj/bitcoinj
BitcoinJ Technologies
- Java 6 for the core modules, Java 8 for everything else
- Maven 3+ - for building the project
- Google Protocol Buffers - for use with serialization and hardware communications