A Java library for graphene blockchains such as Bitshares. Mobile apps, embedded systems, etc.

agorise 4631ec94a9 Update 'README.md' 1 year ago
.github 51f98e12a4 Create FUNDING.yml 3 years ago
graphenej 6e17a55deb Gradle changes & version bump 3 years ago
sample 1e8a1e0346 Updated dependencies 3 years ago
.gitattributes b745200b53 Trying to remove \r\n from files 6 years ago
.gitignore e056c16aa9 - Added back the files for the sample project to the repository 4 years ago
LICENSE 5440286448 Update LICENSE 3 years ago
README.md 4631ec94a9 Update 'README.md' 1 year ago
build.gradle 6e17a55deb Gradle changes & version bump 3 years ago
gradle.properties d0f9ddbbb9 Fixed a remaining issue with the deserialization of the BitAssetData 'get_object' response 4 years ago
gradlew 5dea8a6eb4 Renamed HistoricalTransfer to OperationHistory 4 years ago
settings.gradle 69a0a64d30 Initial tests in order to introduce a centralized broker architecture 4 years ago



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


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

allprojects {
    repositories {

In your app module, add the following dependency:

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


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")))
// Adding operations to the operation list
ArrayList<BaseOperation> operationList = new ArrayList<>();

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

From here on out, it is just a matter of creating a websocket connection and using a custom handler called

java // 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.