A Java library for graphene blockchains such as Hive and Bitshares. This is the core of the PalmPay Point of Sale systems. GrapheneJ can also be used for your mobile apps, embedded systems, etc.
Go to file
Nelson R. Perez d019acca6a Removed most (but not yet all) of the android-related dependencies from the NetworkService class
- The NetworkService no longer extends the Service class
- The NetworkService is now a singleton class, which is instantiated by a static method in a thread-safe manner
- Replaced Android Log.d() functions by System.out.println()
- Renamed the 'onStop' method to simply 'stop' since it will no longer work as a callback
- Renamed the 'bootstrapService' to start, since this is how this class inner workings are started
- Lots of configurable parameters were removed, we now focus on the default values, like empty strings for usernames and passwords
- Node latency verification is done by default, instead of being an optional feature enabled by parameters
- Removed the 'LocalBinder' inner class
- The sample app was modified accordingly
2019-09-13 18:14:47 -05:00
graphenej Removed most (but not yet all) of the android-related dependencies from the NetworkService class 2019-09-13 18:14:47 -05:00
sample Removed most (but not yet all) of the android-related dependencies from the NetworkService class 2019-09-13 18:14:47 -05:00
.gitattributes Trying to remove \r\n from files 2016-11-21 23:15:11 -05:00
.gitignore - Added back the files for the sample project to the repository 2018-06-12 13:56:59 -05:00
LICENSE Update LICENSE 2018-05-23 11:20:28 -05:00
README.md Updating repo references 2017-05-20 19:31:57 -05:00
build.gradle Updated gradle version 2019-05-06 16:02:40 -05:00
gradle.properties Fixed a remaining issue with the deserialization of the BitAssetData 'get_object' response 2018-02-22 17:38:20 -05:00
gradlew Renamed HistoricalTransfer to OperationHistory 2018-05-31 15:52:26 -05:00
settings.gradle Initial tests in order to introduce a centralized broker architecture 2018-05-31 15:52:26 -05:00

README.md

graphenej

A Java library for mobile app Developers; Graphene/Bitshares blockchain.

Usage

In your root build.gradle, add this if you don't already have it.

allprojects {
    repositories {
        jcenter()
    }
}

In yout app module, add the following dependency:

dependencies {
    compile 'com.github.bilthon:graphenej:0.4.2'
}

Example

Very simple funds transfer

This is a simple transfer operation of 1 BTS from account bilthon-15 to bilthon-5

// Creating a transfer operation
TransferOperation transferOperation = new TransferOperationBuilder()
        .setTransferAmount(new AssetAmount(UnsignedLong.valueOf(100000), new Asset("1.3.0")))
        .setSource(new UserAccount("1.2.143563"))       // bilthon-15
        .setDestination(new UserAccount("1.2.139313"))  // bilthon-5
        .setFee(new AssetAmount(UnsignedLong.valueOf(264174), new Asset("1.3.0")))
        .build();
        
// Adding operations to the operation list
ArrayList<BaseOperation> operationList = new ArrayList<>();
operationList.add(transferOperation);

// Creating a transaction instance
Transaction transaction = new Transaction(sourcePrivateKey, null, operationList);

From here on, it is just a matter of creating a websocket connection and using a custom handler called TransactionBroadcastSequence in order to broadcast it to the witness node.

// Setting up a secure websocket connection.
SSLContext context = null;
context = NaiveSSLContext.getInstance("TLS");
WebSocketFactory factory = new WebSocketFactory();
factory.setSSLContext(context);

WebSocket mWebSocket = factory.createSocket(FULL_NODE_URL);

mWebSocket.addListener(new TransactionBroadcastSequence(transaction, new Asset("1.3.0"), listener));
mWebSocket.connect();

The provided listener is an instance of the class WitnessResponseListener.