SteemJ Dev Diary #4 (04.01.2018) - The DatabaseApi
Day #4 of the SteemJ Dev Diary was mainly focused on the MarketHistoryAPI rework and a knowledge transfer with .
Latest SteemJ 0.4.x releases: 0.4.3 v0.4.2 v0.4.2pr1 v0.4.1 v0.4.0
SteemJ Dev Diary #4 (04.01.2018) - The DatabaseApi
Hello Steemians and welcome back to day #4 of the SteemJ HF 0.20 Dev Diary!
This series has been introduced to collect feedback from you and to motivate myself to finalize the next SteemJ version as soon as possible. If this is the first part of this series you read, you may want to checkout Day #1 which explains the motivation behind this diary in detail and also provides a first overview of the API changes that come with HF 0.20.
Changes during day #4
The last 2 days have been quite frustrating, because I can't test the changes properly as a Steem Node running HF 0.19.2 is serving the API Endpoint behind https://api.steemitdev.com. As there are only three days left for this diary and the target was to finish as much as possible, I tried to make good use of the time.
After yesterdays rework of the MarketHistoryAPI I had a look at the DatabaseApi today (Tracked in Issue #75.
In commit 362af1 all changes can be seen. I basically moved methods from the 'SteemJ' class into a separate 'DatabaseApi' class, added new methods like 'listWitnesses' and 'findWitnesses' and, in addition, created the '_args' and '_return' for the different methods.
The package structure itself becomes quite clean now:
But there is still a lot to do.
The most important thing for me right now is the possibility to test the parts that have already been changed. Together with we planned to spend some hours to setup a Steem Node using the official Steem Docker Image as also the current development state is available as a docker image.
This node should help us a lot :)
A list of all commits made after the last release can be found here: https://github.com/marvin-we/steem-java-api-wrapper/compare/v0.4.3...master
(A prove that the commits have been made by me can be found here)
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.
Quick Start Guide
Add SteemJ 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.
To add this release to your project paste the following snippet into your 'pom.xml'
<dependency>
<groupId>eu.bittrade.libs</groupId>
<artifactId>steemj-core</artifactId>
<version>0.4.3</version>
</dependency>
Start posting
SteemJConfig myConfig = SteemJConfig.getInstance();
myConfig.setDefaultAccount(new AccountName("YOUR-ACCOUNT"));
List<ImmutablePair<PrivateKeyType, String>> privateKeys = new ArrayList<>();
privateKeys.add(new ImmutablePair<>(PrivateKeyType.POSTING, "YOUR-PRIVATE-POSTING-KEY"));
myConfig.getPrivateKeyStorage().addAccount(myConfig.getDefaultAccount(), privateKeys);
steemJ.createComment(new AccountName("steemj"), new Permlink("testofsteemj040"), "Example comment without no link but with a @user .", new String[] { "test" });
Further information
The sample module of the SteemJ project provides showcases for the most common acitivies and operations users want to perform.
Beside that you can find a lot of snippets and examples in the different Wiki sections.
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.
Posted on Utopian.io - Rewarding Open Source Contributors
Leave SteemJ Dev Diary #4 (04.01.2018) - The DatabaseApi to:
Read more #utopian-io posts
Best Posts From dez1337
We have not curated any of dez1337's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From dez1337
- SteemJ Dev Diary #9 (14.01.2018)
- SteemJ Dev Diary #8 (13.01.2018)
- SteemJ Dev Diary #7 (07.01.2018) - Finalize the DatabaseApi
- SteemJ Dev Diary #6 (06.01.2018) - Add new API methods to the DatabaseApi
- SteemJ Dev Diary #5 (05.01.2018) - The TagsApi
- SteemJ Dev Diary #4 (04.01.2018) - The DatabaseApi
- SteemJ Dev Diary #3 (03.01.2018) - The MarketHistoryAPI rework
- SteemJ Dev Diary #2 (02.01.2018) - Increased code quality
- # SteemJ Dev Diary #1 (01.01.2018) - CryptoCore and code cleanups.
- OMG (OmiseGO) Airdop on Bitfinex.com ~ Check your Account for free tokens
- SteemJ-Image-Upload 1.0.0 has been released ~ Upload Images to steemitimages.com out of your Java Application
- Crypto Core - A *Swiss Army knife* for Blockchain related Java projects
- SteemJ v0.4.3 is available now ~ Use the Steem API in your Java Project
- SteemJ-Image-Upload has been released ~ Upload Images to steemitimages.com out of your Java Application
- SteemJ v0.4.2 is available now ~ Use the Steem API in your Java Project
- SteemJ v0.4.2pr1 is available now ~ Use the Steem API in your Java Project
- SteemJ V0.4.1 has been released ~ Use the Steem API in your Java Project
- SteemJ V0.4.0 has been released - Integrate Steem into your Java Project
- SteemJ V0.3.4 has been released ~ Use the Steem API in your Java Project
- SteemJ V0.3.3 has been released ~ Use the Steem API in your Java Project