OpenElements / hedera-enterprise

Module for Spring that adds support to communicate with the Hedera network
Apache License 2.0
5 stars 13 forks source link

Provide a Repository for accounts #36

Open hendrikebbers opened 1 week ago

hendrikebbers commented 1 week ago

🆕🐥 First Timers Only

This issue is reserved for people who have never contributed to this project or any open source project in general. We know that creating a pull request (PR) is a major barrier for new contributors. The goal of this issue and all other issues labeled by 'good first issue' is to help you make your first contribution.

👾 Description of the issue

The code already cotains the com.openelements.hedera.base.NftRepository interface that acts as a rapper around REST calls against a Mirror Node. Here only some specific of the REST endpoints that are provided by a Mirror Node are used. A full documentation of the REST API can be found here. Next to that Hedera provides a Swagger UI for specific mirror nodes. The Swagger UI for the Mirror Node of the Hedera testnet can be found here.

As you can see in the documentation and Swagger UI the Mirror Node expose a lot of information. Some of this information is specific to accounts and for that an AccountRepository interface should be defined that is similar to the NftRepository.

Next to the interface definition an implementation (see NftRepositoryImpl class for reference) and unit tests must be created.

📋 Step by step guide to do a contribution

If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow. A more detailed general documentation of the GitHub PR workflow can be found here.

🎉 Contribute to Hacktoberfest

Solve this issue as part of the Hacktoberfest event and get a chance to receive cool goodies like a T-Shirt. 🎽

🤔 Additional informantion

If you have any questions, just ask us directly in this issue by adding a comment. You can join the Hedera community chat at Discord. A general manual about open-source contributions can be found here.

manishdait commented 5 days ago

Hi @hendrikebbers, I am interested in working on these issues.

manishdait commented 3 days ago

Hi @hendrikebbers, I'm working on implementing the AccountRepository interface`.

To ensure I'm covering all the necessary functionality, could you please clarify whether the AccountRepository should handle all endpoints related to accounts, or if it should be limited to specific endpoints like /api/v1/accounts and /api/v1/accounts/{idOrAliasOrEvmAddress}?

Additionally, could you provide guidance on the essential details that should be included in the AccountInfo class? Based on my initial research, I'm considering properties like account_id, alias, and balance.