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
- Smart Contract: Rust, Soroban-SDK
- Wallet: Freighter (Chrome extension)
- Frontend: ReactJS, TailwindCSS
- Integration: Stellar-SDK
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
CDAN4KQKD633XF6MCOHI7Q3DJQX4E7ENCGKUBHGQKIKJWI6DVDPX54XW
-
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. -
fetch_feedback(env: Env, fb_id: u64) -> Feedback
:
Retrieves feedback using the provided feedback ID (u64
).
undefined
when fetching data from the blockchain using Stellar-SDK.
Both send_feedback()
and fetch_feedback()
function correctly when invoked via Stellar-CLI.
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.
src/components/Soroban.js
🔗 Documentation Reference:
Stellar Transaction Builder Guide
- Install the following:
- NodeJS
- Rust
- Stellar-CLI
- Add the Freighter Wallet Chrome extension.
- Clone the repository:
git clone https://github.com/pkprajapati7402/Anonymous-Feedback-Blockchain.git
- Install project dependencies:
npm install
- Start the project:
npm run start
Feel free to reach out if you encounter any issues or have suggestions for improvements! 😊