Skip to content

Anonymous Feedback dApp is a decentralized application on the Stellar blockchain that allows users to submit anonymous feedback. Each feedback is assigned a unique ID by the smart contract, ensuring privacy and secure access. It integrates with Freighter wallet and features a simple, user-friendly interface.

License

Notifications You must be signed in to change notification settings

pkprajapati7402/Anonymous-Feedback-Blockchain

Repository files navigation

🌐 Project Name: Anonymous Feedback dApp

A full-stack decentralized application (dApp) built on the Stellar blockchain 🌟. This dApp allows users to submit anonymous feedback seamlessly. The smart contract assigns a unique ID to each feedback entry, which can later be accessed using its corresponding feedback ID.

🔗 Project Repository: Anonymous Feedback Blockchain


📑 Table of Contents:

  1. Technologies Used
  2. Smart Contract Info
  3. ⚠️ Current Issue
  4. 🛠️ Project Setup Guide

🛠️ Technologies Used:

  • Smart Contract: Rust, Soroban-SDK
  • Wallet: Freighter (Chrome extension)
  • Frontend: ReactJS, TailwindCSS
  • Integration: Stellar-SDK

📜 Smart Contract Info:

All smart contract-related files are located in the anonymous-feedback-smartcontract folder.

  • Smart Contract Path:
    ./anonymous-feedback-smartcontract/contracts/hello_world/src/lib.rs

🔗 Deployed Smart Contract Address:

CDAN4KQKD633XF6MCOHI7Q3DJQX4E7ENCGKUBHGQKIKJWI6DVDPX54XW

⚙️ Functions in the Anonymous Feedback Smart Contract:

  1. send_feedback(env: Env, feedback_msg: String) -> u64:
    Accepts a feedback message (String), assigns a unique ID, stores it on the blockchain, and returns the feedback ID.

  2. fetch_feedback(env: Env, fb_id: u64) -> Feedback:
    Retrieves feedback using the provided feedback ID (u64).


⚠️ Current Issue:

🛑 Issue:

undefined when fetching data from the blockchain using Stellar-SDK.

⚙️ Working Functions:

Both send_feedback() and fetch_feedback() function correctly when invoked via Stellar-CLI.

🐛 Issue Details:

The fetch_feedback() function returns undefined when called via the fetchFeedback() interaction function using Stellar-SDK (located in src/components/Soroban.js).

Similarly, the sendFeedback() function correctly stores feedback on the blockchain but returns undefined instead of the expected feedback ID.

🗂️ Soroban.js File Path:

src/components/Soroban.js

🔗 Documentation Reference:
Stellar Transaction Builder Guide


🖼️ Screenshots of the Issue:

  1. Creating Feedback via send_feedback():
    image

    • Expected Output: 4
    • Received Output: undefined
      image
  2. Fetching Feedback with ID 4 using fetch_feedback():
    image

    • Expected Output: Feedback Number 4
    • Received Output: undefined
      image

🛠️ Project Setup Guide:

  1. Install the following:
    • NodeJS
    • Rust
    • Stellar-CLI
  2. Add the Freighter Wallet Chrome extension.
  3. Clone the repository:
    git clone https://github.com/pkprajapati7402/Anonymous-Feedback-Blockchain.git
  4. Install project dependencies:
    npm install
  5. Start the project:
    npm run start

Feel free to reach out if you encounter any issues or have suggestions for improvements! 😊

About

Anonymous Feedback dApp is a decentralized application on the Stellar blockchain that allows users to submit anonymous feedback. Each feedback is assigned a unique ID by the smart contract, ensuring privacy and secure access. It integrates with Freighter wallet and features a simple, user-friendly interface.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published