Skip to content

NASAA Platform is a decentralized app that enables creators to propose projects, raise funds, and offer NFTs as rewards. It uses Ethereum-compatible blockchain and IPFS for secure storage of NFT metadata.

Notifications You must be signed in to change notification settings

georgegoldman/nasaa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nasaa

Overview

NASAA Platform is a decentralized application (dApp) that combines the power of blockchain-based crowdfunding and non-fungible tokens (NFTs). The platform allows creators to propose projects, raise funds, and mint unique NFTs as rewards for contributors. This project leverages Ethereum-compatible blockchain technology and IPFS for secure, decentralized storage of NFT metadata.

Features

  • NFT Minting: Creators can mint NFTs representing their projects, with metadata securely stored on IPFS (using Pinata).
  • Crowdfunding: Users can submit project proposals, which, upon approval, are open for public funding. Contributors can support these projects with ETH and receive NFTs as rewards. Verification Mechanism: The platform supports admin-based approval of project proposals to ensure the legitimacy and quality of projects.
  • Fund Management: Funds are only released to project creators if the funding goal is met; otherwise, contributors can request a refund.
  • Decentralization: The platform operates on a decentralized blockchain, ensuring transparency and security for all participants.

Project Structure



Smart Contracts: Developed using Solidity and Hardhat, covering NFT minting, crowdfunding mechanics, and proposal verification. Frontend: A React.js application allowing users to interact with the platform, connect their Web3 wallet, and manage their contributions. Backend: A Flask application handling off-chain processes, such as metadata processing and database management (MongoDB). IPFS Integration: Metadata and media files are stored securely on IPFS to reduce on-chain storage costs and ensure data integrity.

Getting Started

Prerequisites

  • Metamask or another Ethereum wallet
  • Pinata API keys (for IPFS)

Installation

  1. Clone the repository
git clone https://github.com/georgegoldman/nasaa.git
cd nasaa
  1. Install dependencies:
npm install
cd backend
pip install -r requirements.txt

  1. Configure environment variables in the .env file.

Deployment

  1. Compile and deploy the smart contracts using Hardhat:
npx hardhat compile
npx hardhat run scripts/deploy.js --network lisk-sepolia
  1. Run the backend Flask application:
python app.py
  1. Start the React frontend:
npm start

Usage

  • Connect Wallet: Users connect their Web3 wallet (e.g., MetaMask) to the platform.
  • Create Proposal: Submit a project proposal with all necessary details, including metadata stored on IPFS.
  • Fund Projects: Users can contribute to approved projects and receive NFTs in return.
  • Track Progress: Monitor the funding status of projects and withdraw or refund funds as applicable.

Contributing

We welcome contributions from the community. Please read our contribution guidelines and feel free to submit pull requests or open issues.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

NASAA Platform is a decentralized app that enables creators to propose projects, raise funds, and offer NFTs as rewards. It uses Ethereum-compatible blockchain and IPFS for secure storage of NFT metadata.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published