SteemJ V0.3.4 has been released ~ Use the Steem API in your Java Project

SteemJ v0.3.4 finally allows you to share post/comment rewards with another Steem account.

SteemJV2Logo


Previous 0.3.x releases: v0.3.3 v0.3.2 v0.3.1 v0.3.0

SteemJ v0.3.4 has been released

Hello Steemians!

I am pleased to announce the last 0.3.x release of SteemJ: Version 0.3.4. Based on this success, we can finally look forward to version 0.4.0 for which some big improvements like a TransactionBuilder are planned.

This release fixes the remaining issues and increases the overall quality of the project once again.

At this point: Once again a huge Thank you! to everyone submitting issues at GitHub - Everyone of you is making this project better and better.

As SteemJ is made for third-party apps the most interesting change should be the CommentOptionsExtension fix. You may know that it is possible to add this type of Extension to a CommentOptionsOperation since HF 0.18.0. This Extension allows you to define that a specific account gets a specfic percentage of the reward too. If your app allows users to write posts or comments, this can be one way to earn something with your app.

I’ve just read some comments on the Steemit Chat from users who were wondering how to use this feature, so to avoid this pain for you SteemJ users, here is a small sample:

        CommentOptionsOperation commentOptionsOperation = new CommentOptionsOperation();
        commentOptionsOperation.setAuthor(new AccountName("dez1337"));
        commentOptionsOperation.setPermlink("steemj-v0-2-4-has-been-released-update-9");
        commentOptionsOperation.setAllowVotes(true);
        commentOptionsOperation.setAllowCurationRewards(true);
        commentOptionsOperation.setPercentSteemDollars((short) 10000);

        BeneficiaryRouteType beneficiaryRouteType = new BeneficiaryRouteType();
        beneficiaryRouteType.setAccount(new AccountName("steemJ"));
        beneficiaryRouteType.setWeight((short) 500);

        ArrayList<BeneficiaryRouteType> beneficiaryRouteTypes = new ArrayList<>();
        beneficiaryRouteTypes.add(beneficiaryRouteType);

        CommentPayoutBeneficiaries commentPayoutBeneficiaries = new CommentPayoutBeneficiaries();
        commentPayoutBeneficiaries.setBeneficiaries(beneficiaryRouteTypes);

        CommentOptionsExtension commentOptionsExtension = new CommentOptionsExtension(commentPayoutBeneficiaries);

        ArrayList<CommentOptionsExtension> commentOptionsExtensions = new ArrayList<>();
        commentOptionsExtensions.add(commentOptionsExtension);

        commentOptionsOperation.setExtensions(commentOptionsExtensions);

        ArrayList<Operation> operations = new ArrayList<>();
        operations.add(commentOptionsOperation);

        transaction.setOperations(operations);
        transaction.sign();

For sure, this is still quite complex to achieve, but it is working! SteemJ 0.4.x will hopefully provide some easier ways to add a CommentOptionsExtension to a transcation.

As always, let’s have a look at the current code quality before moving to the detailed changelog.

Code Quality

SonarQube

The code coverage slightly increased, because some new test cases have been added to avoid that the reported problems occur again in future versions. Beside that some TODOs could have been removed so that the number of Code Smells went down to 144.

What is new?

Below you can find all changes made in this release.

Functional Updates

  • The following issues have been fixed:
  • #5 Add JavaDoc to the follow_api.
  • #62 Unable to add CommentPayoutBeneficiaries Extension to CommentOptionsOperation .
  • #42 Implement core id types (e.g. block_id_type) to offer additional functionalities and a more accurate parsing.
  • #30 Fix CommentOptionsExtension parsing.
  • #61 Unable to use insecure websockets connection.
  • #68 Deserialization problem in case of 'total_pow' field is -1 (Testnet)

Code Quality Improvements

  • Additional integration tests have been added.

Documentation

General information

What is SteemJ?

SteemJ is a project that allows you to communicate with a Steem node using Java. So far, the project supports most of the API calls and is also able to broadcast most of the common operation types. Further information can be found on GitHub.

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

How to add it to your project?

SteemJ binaries are pushed into the maven central repository and can be integrated with a bunch of build management tools like Maven. The Wiki provides a lot of examples for the most common build tools. If you do not use a build management tool you can download the binaries as described here.

Contribute

The project became quite big and there is still a lot to do. If you want to support the project simply clone the git repository and submit a pull request. I would really appreciate it =).

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

Get in touch!

Most of my projects are pretty time consuming and I always try to provide some useful stuff to the community. What keeps me going for that is your feedback and your support. For that reason I would love to get some Feedback from you <3. Just contact me here on Steemit or ping me on GitHub.


If you want to stay up to date or just like the stuff I am doing it would be great if you could press the button below =).



follow me

Thanks for reading and best regards,
@dez1337

steemdevsteemopen-sourceprogrammingsteemit

H2
H3
H4
3 columns
2 columns
1 column
16 Comments