This Kotlin class provides a implementation for the API of the Cloud mining and Bitcoin mining Eobot.com
Eobot is the easiest, cheapest, and best way to get or mine Bitcoin, Litecoin, BlackCoin, Namecoin, Dogecoin, Dash, Reddcoin, BitShares, CureCoin, StorjcoinX, Monero, Voxels, Lumens, Bytecoin, Peercoin, NXT, MaidSafeCoin, Ethereum, and Factom. Whether or not you use our Cloud Mining or your own hardware, you can mine any cryptocurrency, regardless if it is based on a SHA-256 or Scrypt algorithm.
and you can use it in an Android App. The API that Eobot expose are listed in this page: Eobot Developers.
This kotlin class uses Fast-Android-Networking to make the request so, you have to include it in your Android App Project. As described in the Fast-Android-Networking Readme.md add this in your build.gradle
compile 'com.amitshekhar.android:android-networking:1.0.0'
Add internet permission in manifest if already not present
<uses-permission android:name="android.permission.INTERNET" />
Then initialize it in onCreate() Method of application class, in my case I use this custom App.class:
public class App extends Application {
private static Context mContext;
public static Context getContext(){
return mContext;
}
// Called when the application is starting, before any other application objects have been created.
// Overriding this method is totally optional!
@Override
public void onCreate() {
super.onCreate();
AndroidNetworking.initialize(getApplicationContext());
}
}
After that you can put the EobotAPI.kt class wherever you want.
To use the class instantiate it and call methods, for example
public class MainActivity extends AppCompatActivity {
private String userId = "1";
private EobotAPI mRequest = new EobotAPI();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Call the getBalances Method
mRequest.getBalances(userId,new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
Log.i("RESPONSE","Response: " + response.toString());
}
@Override
public void onError(ANError anError) {}
});
}
}
And the result must be something like this
{
"Total":"6.10402110","BTC":"0.00000000","ETH":"0.00000000",
...
"GHS":"0.00000000","GHS2":"0.00000000","SCRYPT":"0.00000000",
"BPPD":"0.00000000","PPD":"0.00000000"
}
Every API uses as input all the parameters required by Eobot, in the same order as described in the developers page, and return a JSONObject.
Returns total account value followed by cryptocurrency balances. Pass in querystring userId.
fun getBalances(userId : String, listener : JSONObjectRequestListener) : Unit {}
Returns the cryptocurrency you are currently mining. Pass in querystring UserID.
fun getMiningMode(userId : String, listener : JSONObjectRequestListener) : Unit {}
Returns the mining and cloud speeds. Pass in querystring UserID.
fun getSpeed(userId : String, listener : JSONObjectRequestListener) : Unit {}
Returns a deposit wallet address for specified cryptocurrency. Pass in querystring UserID and deposit type (BTC, ETH, LTC, etc.).
fun getDepositAddress(userId : String, depositType : String,
listener : JSONObjectRequestListener) : Unit {}
Returns the UserID. Pass in querystring (or post parameters) email and password/API Key.
fun getUserID(email : String, password : String,
listener : JSONObjectRequestListener) : Unit {}
Programmatically set your mining mode. Pass in querystring (or post parameters) UserID, email, password/API Key, and mining mode (BTC, ETH, LTC, etc.).
fun setMiningMode(userId : String, email : String,
password : String, miningMode : String,
listener : JSONObjectRequestListener) : Unit {}
Programmatically set an automatic withdraw. Pass in querystring (or post parameters) UserID, email, password/API Key, automatic withdraw type (BTC, ETH, LTC, etc.), amount, and wallet address.
fun setAutomaticWithdraw(userId : String, email : String,
password : String, currency : String,
amount : String, walletAddress : String,
listener : JSONObjectRequestListener) : Unit {}
Performs a one-time manual withdraw. Pass in querystring (or post parameters) UserID, email, password/API Key, manual withdraw type (BTC, ETH, LTC, etc.), amount, and wallet address.
fun manualWithdraw(userId : String, email : String,
password : String, currency : String,
amount : String, walletAddress : String,
listener : JSONObjectRequestListener) : Unit {}
Programmatically buy Cloud. Pass in querystring (or post parameters) UserID, email, password/API Key, cloud type (GHS or GHS4 or SCRYPT), cryptocurrency source (BTC, ETH, LTC, etc.), and cryptocurrency amount.
fun buyCloudWithCryptocurrency(userId : String, email : String,
password : String, currencyFrom : String,
amount : String, cloudType : String,
listener : JSONObjectRequestListener) : Unit {}
Programmatically get estimate. Pass in querystring from coin type, to coin type, and cryptocurrency amount.
fun exchangeEstimate(hasExchangeFee : String, currencyFrom : String,
amount : String, currencyTo : String,
listener : JSONObjectRequestListener) : Unit {}
I'm not associated or related with Eobot.com, this is my implementation based on the public API. I'm not responsible if you lose money using this library because this is a simple node.js wrapper for the Eobot.com Public API.
If you think that code is worth of some money and are willing to pay for it, feel free to send any amount through PayPal, Bitcoin, Ethereum, Litecoin and BAT.
Mode | Link/Wallet |
---|---|
Paypal | PayPal.Me |
Bitcoin | 168fmE7d1RY8S6fJSkffnVFdZTwnxRAM7y |
Ethereum | 0xCa080c321e9518437F78CaC4099Fb938c7e2Ffee |
Litecoin | LQmw4mGo7hgv1ctvGgHbjXudU9ejmK95NH |
BAT | 0xbbF164847aAc7E226e4EC0195fF734AD314C9422 |
If you have any idea, feel free to fork it and submit your changes back to me.
GPL-3.0. See gpl-3.0-standalone.html for details.