Steem Java-API V0.1.0 – Update #4

in #steem8 years ago

Hay Steemers,

after nearly two month of silence I was finally able to put some more time in this project and released version 0.1.0 of the Steem Java API Wrapper. #Yeha!

The first thing I want to do is to say thanks again: According to the number of views on GitHub and the comments I received so far, there seems to be some interest in this project which motivates me a lot – So thanks for that!

Today I want to share some news on the Java-API-Wrapper project with you again. Those of you who don‘t know of the project yet may want to have a look at the repository on GitHub:

https://github.com/marvin-we/steem-java-api-wrapper

Icon
Source

Update V0.1.0

Let's make this post short and start with the important stuff: The changes of this release.

Unit Tests

I've created some more unit tests to ensure the quality of the project.

Executing transactions

I think this is one of the importants features and sadly, it is one of the most complex ones: The support of transactions to perform operations like voting, following, buying or selling steem. This release contains the implementation of @xerocs tutorial about how to perform those transactions, but there is still a long way to go until the API Wrapper is able to send transactions.

Deserialzsation of Operations

In older versions of the API Wrapper methods like „getBlock“ or „getAccountHistory“ returned a simple array of objects for the operations field.

With the new version the API Wrapper is able to return specific objects for each operation.

Example:

Old behavior:

Object[] firstOperation = accountHistory.get(0).getOperations();
if(firstOperation[0].equals(„vote“)) {
// Parse the vote object in firstOperation[1]
}

New behavior:

Operation firstOperation = accountHistory.get(0).getOperations();
if(firstOperation instanceof VoteOperation) {
VoteOperation voteOp = (VoteOperation)  firstOperation;
}

New methods

The following new methods have been implemented

  • get_active_witnesses
  • get_witnesses_by_vote
  • get_witness_by_account
  • get_replies_by_last_update

Bugs and typos

Due to some lack of testing the last release contained some bugs and typos which have been fixed now.

How to include the Steem Java API Wrapper into your project

The new version has already been pushed into the Maven central repo and can again be added as an depdency in Maven and Gradle.
Once the API is synced to the Maven Central Repository, you can include it like this:

Maven

        <dependency>
            <groupId>eu.bittrade.libs</groupId>
            <artifactId>steem-api-wrapper</artifactId>
            <version>0.1.0</version>
        </dependency>

Gradle

dependencies {
    compile 'eu.bittrade.libs:steem-api-wrapper:0.0.3'
}

How to support the project

If you want to support this project you can do it in several ways.

  1. Use the Java API Wrapper for your projects and provide feedback.
  2. Fork the project and improvde the project. Even if you are now Java developer at all, you could help by improving the JavaDoc.
  3. Tell more people about this project

Here is a list of people that already suported the project.

Contributors

  • @inertia provided a bunch of unit tests to this project.
  • An article from @klye has been used to improve the documentation of the methods.
  • The guide from @xeroc shows how to create and sign transactions.
    If you have ideas or even better, can write Java code, feel free to become a contributor too :)

As you can imagine, there is still a lot of work to do. Make sure to never miss an update again by pressing the button below.

follow me
Source

Thanks for reading and best regards!

Sort:  

Thanks for this work, I would like to see that in groovy language as well, I'll try to post an example, it shouldn't be difficult anyway.

Thanks for the feedback.

I dont know how usable it would be, but you can add a jar to the groovy classpath and use the methods of that class. If you go for this: There is already a new version (0.2.0) in place that you might want to check out. And please provide some feedback :)

I'm trying to kickstart the use of the #steemdev tag. Your post would fit well in that category.

Good idea, I will keep that in mind for further updates :)

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 59820.07
ETH 2408.18
USDT 1.00
SBD 2.43