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.
Find a file
2017-04-06 15:34:23 -05:00
graphenej Fixed a rounding error in the OrderBook class' exchange method 2017-04-06 15:34:23 -05:00
.gitattributes Trying to remove \r\n from files 2016-11-21 23:15:11 -05:00
.gitignore Fixing test and small changes to .gitignore 2017-03-23 21:52:32 -05:00
build.gradle Introducing some updates required in order to make this library public via maven central 2017-03-23 16:34:11 -05:00
gradle.properties Adjustments in the OrderBook class and adding getters & setters to the LimitOrderCreateOperation class 2017-03-29 22:22:35 -05:00
gradlew Fixing test and small changes to .gitignore 2017-03-23 21:52:32 -05:00
gradlew.bat Fixing test and small changes to .gitignore 2017-03-23 21:52:32 -05:00
LICENSE Retrieving the LICENSE file and expanding the README.md 2017-03-02 00:13:44 -05:00
README.md Library inclusion instructions 2017-03-24 00:51:44 -05:00
settings.gradle Introducing some updates required in order to make this library public via maven central 2017-03-23 16:34:11 -05:00

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.kenCode-de:graphenej:0.4.1'
}

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.