Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an Example for "Get file contents" functionality #2513

Closed
11 tasks
ivaylogarnev-limechain opened this issue Sep 11, 2024 · 2 comments · Fixed by #2578
Closed
11 tasks

Create an Example for "Get file contents" functionality #2513

ivaylogarnev-limechain opened this issue Sep 11, 2024 · 2 comments · Fixed by #2578
Assignees
Labels
enhancement New feature or request good first issue Issues which are ideal for a first time or new project contributor. hacktoberfest Issues shown by lists for the Hacktoberfest and made for newcomers to do the first contribution.
Milestone

Comments

@ivaylogarnev-limechain
Copy link
Contributor

ivaylogarnev-limechain commented Sep 11, 2024

🆕🐥 First Timers Only

This issue is reserved for people who have never contributed to Hedera 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 to Hedera.

👾 Description of the issue

Problem

The Hedera Java SDK includes a useful example, GetFileContentsExample.java, which demonstrates how to retrieve the contents of a file stored on the Hedera network. This example is crucial for developers who need to interact with Hedera’s File Service and fetch file data for further processing or validation.

However, there is no equivalent example available in the Hedera JavaScript SDK. Developers using the JavaScript SDK would benefit from an example that demonstrates how to query and retrieve file contents from Hedera, showcasing the ease of interacting with files stored on the network.

Solution

Below is a link to the existing Java implementation, which can serve as a basis for creating the JavaScript example:
GetFileContentsExample.java

Steps to Implement

  1. Client and operator setup: Set up the Hedera Client in the JavaScript SDK using setOperator.
  2. File contents query:
    • Use FileContentsQuery to query the contents of a specific file on the network.
    • Specify the file ID for the file you want to retrieve.
    • Set appropriate transaction fees to ensure the query is executed successfully.
  3. Processing the file contents:
    • Demonstrate how to output or further process the file contents (for example, printing the file data to the console).
  4. Logging and output: Include appropriate console logs for each step of the process, from initiating the query to retrieving the file contents, so that users can follow along.
  5. Error handling: Add error handling for common cases like non-existent files or access issues.

Expected Outcome

This new example will help developers using the JavaScript SDK understand how to retrieve file contents from the Hedera network. It will demonstrate how to leverage the File Service for real-world applications where file data needs to be queried and processed. Developers will also gain insight into handling file queries, managing fees, and interpreting query results.

By providing this JavaScript example, we align the JavaScript SDK with the Java SDK in terms of documentation and usability, making it easier for developers to build Hedera-based applications.

📋 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. More information and concrete samples for shell commands for each step can be found in our CONTRIBUTING.md file.
A more detailed general documentation of the GitHub PR workflow can be found here.

  • Claim this issue: Comment below that you are interested in working on the issue
  • Wait for assignment: A community member with the given rights will add you as an assignee of the issue
  • Fork the repository: You can do that in GitHub (by simply clicking the 'fork' button).
  • Check out the forked repository
  • Create a feature branch for the issue. We do not have a hard naming definition for branches but it is best practice to prefix the branch name with the issue id.
  • Solve the issue in your branch.
  • Commit your changes: Here, it is needed to add sign-off information to the commit to accept the "Developer Certificate of Origin" (https://developercertificate.org). More details can be found in our CONTRIBUTING.md
  • Start a Pull Request (PR): We have a pattern for naming pull requests that a GitHub Action checks. We use that pattern to support the creation of automatic release notes.
  • Check GitHub Actions: Several GitHub Actions will be triggered automatically for each PR. If a GitHub Action fails and you do not understand the cause of that error do not hesitate to add a comment to the PR and ask the Hedera developer community for support.
  • Wait for reviews: Members of the Hedera developer community will review your PR. If a reviewer finds any missing pieces or a problem, he or she will start a discussion with you and describe the next steps for solving the problem.
  • You did it 🎉: We will merge the fix in the develop branch. Thanks for being part of the Hedera community as an open-source contributor ❤️

🎉 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 Information

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

@ivaylogarnev-limechain ivaylogarnev-limechain added enhancement New feature or request good first issue candidate Issues that can become a good first issue but need more description/context. labels Sep 11, 2024
@ivaylogarnev-limechain ivaylogarnev-limechain changed the title Create an Example for "Create Account with Threshold Key" functionality Create an Example for "Get file contents" functionality Sep 13, 2024
@ivaylogarnev-limechain ivaylogarnev-limechain added good first issue Issues which are ideal for a first time or new project contributor. and removed good first issue candidate Issues that can become a good first issue but need more description/context. labels Sep 25, 2024
@hendrikebbers hendrikebbers added the hacktoberfest Issues shown by lists for the Hacktoberfest and made for newcomers to do the first contribution. label Oct 1, 2024
@b-l-u-e
Copy link
Contributor

b-l-u-e commented Oct 3, 2024

I am interested in working on the issue

@samswag
Copy link

samswag commented Oct 4, 2024

You got it @b-l-u-e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Issues which are ideal for a first time or new project contributor. hacktoberfest Issues shown by lists for the Hacktoberfest and made for newcomers to do the first contribution.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants