hashgraph / hedera-sdk-js

Hedera™ Hashgraph SDK for JavaScript/TypeScript
https://docs.hedera.com/guides/docs/sdks
Apache License 2.0
265 stars 141 forks source link

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

Open ivaylogarnev-limechain opened 1 month ago

ivaylogarnev-limechain commented 1 month ago

🆕🐥 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.

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

b-l-u-e commented 2 weeks ago

I am interested in working on the issue

samswag commented 2 weeks ago

You got it @b-l-u-e