allprojects {
repositories {
...
maven { url 'https://jitpack.io'}
}
}Maven:
<dependency>
<groupId>com.github.centerprime</groupId>
<artifactId>Quark-Chain-Client-SDK</artifactId>
<version>1.0.8</version>
</dependency>Gradle:
dependencies {
implementation 'com.github.centerprime:Quark-Chain-Client-SDK:1.0.8'
}Once you have the dependencies set up you can start using CenterPrime by creating a Quark-Chain Wallet:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
QKCManager qkcManager = QKCManager.getInstance();
qkcManager.createWallet("12345", this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(wallet -> {
String walletAddress = wallet.getAddress();
String keystore = wallet.getKeystore();
String qckWalletAddress = QKCManager.
getQCKAddress(walletAddress,this);
int chainId = 1;
int shardId = 0;
String chainId1 = QKCManager.getQCKAddressByChainIdAndShardId(qckWalletAddress, chainId , shardId, this);
}, error -> {
System.out.println(error);
});
}
}Congratulations! Now you are a CenterPrime user.
You can create Quark-Chain Wallet.
QKCManager qkcManager = QKCManager.getInstance();
qkcManager.createWallet("12345", this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(wallet -> {
String walletAddress = wallet.getAddress();
String keystore = wallet.getKeystore();
String qckWalletAddress = QKCManager.
getQCKAddress(walletAddress,this);
int chainId = 1;
int shardId = 0;
String chainId1 = QKCManager.getQCKAddressByChainIdAndShardId(qckWalletAddress, chainId , shardId, this);
}, error -> {
System.out.println(error);
});Import Quark-Chain Wallet by Keystore.
QKCManager qkcManager = QKCManager.getInstance();
String password = "xxxx12345";
String keystore = "JSON_FORMAT";
qkcManager.importFromKeystore(keystore, password, this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(walletAddress -> {
Toast.makeText(this, "Wallet Address : " + walletAddress, Toast.LENGTH_SHORT).show();
}, error -> {
});Import Wallet By Private Key.
QKCManager qkcManager = QKCManager.getInstance();
String privateKey = "PRIVATE_KEY";
qkcManager.importFromPrivateKey(privateKey, this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(walletAddress -> {
Toast.makeText(this, "Wallet Address : " + walletAddress, Toast.LENGTH_SHORT).show();
}, error -> {
});If you want to export wallet address’s keystore you can use a code written below.
QKCManager qkcManager = QKCManager.getInstance();
String walletAddress = "WALLET_ADDRESS";
qkcManager.getKeyStore(walletAddress, this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(keystore -> {
Toast.makeText(this, "Keystore : " + keystore, Toast.LENGTH_SHORT).show();
}, error -> {
});If you want to export wallet address’s private key you can use a code written below.
QKCManager qkcManager = QKCManager.getInstance();
String walletAddress = "WALLET_ADDRESS";
String password = "WALLET_PASSWORD";
qkcManager.getPrivateKeyForQW(walletAddress, password, this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(privateKey -> {
Pair<BigInteger, BigInteger> privateKeyT = privateKey;
Toast.makeText(this, privateKeyT.first.toString(16), Toast.LENGTH_SHORT).show();
}, error -> {
Toast.makeText(this, error.getMessage(), Toast.LENGTH_SHORT).show();
});
});QKC Balance.
QKCManager qkcManager = QKCManager.getInstance();
qkcManager.init("http://jrpc.mainnet.quarkchain.io:38391");
String walletAddress = "WALLET_ADDRESS";
qkcManager.getQKCBalance(walletAddress)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(balance -> {
Toast.makeText(this, "QKC Balance : " + balance, Toast.LENGTH_SHORT).show();
}, error -> {
});Send QKC.
QKCManager qkcManager = QKCManager.getInstance();
qkcManager.init("http://jrpc.mainnet.quarkchain.io:38391");
String walletAddress = "WALLET_ADDRESS";
String password = "WALLET_PASSWORD";
BigInteger gasPrice = new BigInteger("GAS_PRICE");
BigInteger gasLimit = new BigInteger("GAS_LIMIT");
BigDecimal qkcAmount = new BigDecimal("QKC_AMOUNT");
String fromAddress = "SENDER_WALLET_ADDRESS";
String receiverAddress = "RECEIVER_WALLET_ADDRESS";
qkcManager.sendQKCToken(walletAddress, password, fromAddress, receiverAddress,gasPrice, gasLimit, qkcAmount, this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(tx -> {
Toast.makeText(this, "TX : " + tx, Toast.LENGTH_SHORT).show();
}, error -> {
});