hashgraph / hedera-sdk-rust

The Hederaβ„’ Rust SDK
Apache License 2.0
42 stars 14 forks source link

Add example: Add and remove NFT Allowances #846

Open RickyLB opened 2 months ago

RickyLB commented 2 months 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

The Hedera SDK offers an example to demonstrate how to add and remove NFT allowances, which is a crucial process for controlling asset permissions. However, the complexity of the operations can make it difficult for developers to follow without a clear step-by-step breakdown.

Solution

This example in the Java SDK showcases the process of managing NFT allowances, including creating NFTs, approving and revoking permissions, and transferring tokens using the Hedera SDK. By following these steps, developers can implement allowance functionality efficiently. NftAddRemoveAllowancesExamples.java

We need to provide that example for the RUST-SDK, too.

Implementation

  1. Set up the SDK client with the necessary operator account and key.
  2. Create a unique NFT and retrieve the associated token ID.
  3. Mint NFTs by attaching metadata to each unique token serial number.
  4. Generate spender and receiver accounts with their respective keys.
  5. Associate the spender and receiver accounts with the NFT token.
  6. Grant allowance for specific NFT serials to the spender account.
  7. Execute an NFT transfer using the approved allowance on behalf of the spender.
  8. Revoke the allowance for specific NFT serial numbers.
  9. Attempt another transfer after revocation to confirm the permission removal.
  10. Clean up resources by deleting the tokens and accounts used in the process.

πŸ“‹ 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.

SIDHARTH20K4 commented 1 month ago

@RickyLB I would like to work on this issue Could you assign this to me?!