| Repository | Link |
|---|---|
steemconnect4j | https://github.com/hapramp/steemconnect4j |
| Example Project | https://github.com/hapramp/SteemConnectSampleApp |
A Java SDK for SteemConnect v2
SteemConnect has now become a standard for authentication in Steem based decentralized applications. A lot of popular Steem apps like @busy.org,
@dtube,
@dmania, etc. are now using SteemConnect for authenticating users.
Developing web apps using SteemConnect is simple, thanks to the steemconnect-sdk for JS. But it is difficult to develop Java-based applications like Android, Jetty, etc. on the top of SteemConnect.
In order to make this process convenient, I developed this SDK which can be used by anyone to develop SteemConnect based Java apps.
steemconnect4j is an SDK for using SteemConnect v2 (SC2) API in Java-based projects like Android, Jetty, etc. It provides simple methods to interact with the Steem blockchain using access token received from the SteemConnect API.
As of now, steemconnect4j offers the following features -
| Task | Tech/Tool | Link(s) |
|---|---|---|
| Build Tool | Gradle | Root config steemconnect4j config |
| Test Coverage | Jacoco | Config |
| Linting | Checkstyle | Config file |
| Package Repository | JitPack | Repository |
In order to add the SDK to a Gradle based project, make sure that you have JitPack in repositories for your root config -
After this, just add steemconnect4j as project dependency and you are good to go -
You can find all the documentation for the API in the project's README file.
Travis CI is used to ensure that all the tests pass and a considerable amount of code is covered under tests. It uses hard checks on checkstyle so that even warnings turn into errors while CI build.
Here is what the Travis configuration looks like -
To test the proper functioning of the SDK, I developed an Android application that authenticates a user and displays their information in the app.
The application's source code is open source on Github - https://github.com/hapramp/SteemConnectSampleApp.
Minimum SDK version for the project is 17 and targetted SDK version is 27.
Enough talk! See it in action -
The SDK will be used in HapRamp's Android app for authentication and other actions like voting, commenting, etc. I aim to resolve all the bugs present in the SDK during this process.
I am also working on improving the test coverage for the code and wish to take it to decent numbers.
The project is open to contributions in any way possible. If you find a bug, please open an issue in the project's issue tracker. For submitting code patches, feel free to open pull requests on Github.
Here's the basic flow for contributing to the project -
If you wish to talk, please join HapRamp's Discord channel - https://discord.gg/r9vwcHe.