Skip to content

A simple and secure decentralized application (dApp) for storing personal notes on the Ethereum blockchain. This project leverages blockchain technology to ensure data integrity, transparency, and immutability, allowing users to store and access their notes without relying on centralized servers.

License

Notifications You must be signed in to change notification settings

dkv204p/notes-storage-dapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes Storage DApp

A decentralized application (dApp) built using Ethereum blockchain technology. This project utilizes Truffle for smart contract management, React for the frontend, and Bootstrap for styling.


Features

  • Store, retrieve, edit, and delete notes securely on the blockchain.
  • Connects to Ethereum wallet (e.g., MetaMask) for account management.
  • Responsive and user-friendly interface built with Bootstrap.

Prerequisites

Ensure the following are installed on your system:

  • Node.js (v16 or above recommended)
  • npm or Yarn
  • Truffle Suite
  • MetaMask browser extension
  • Ganache (for local blockchain testing)

Folder Structure

  • frontend/: Contains the React application for the user interface.
  • truffle-setup/: Contains the Truffle project for smart contract development.

Installation and Setup

Setting Up the Truffle Project

  1. Navigate to the Truffle Setup Folder

    cd truffle-setup
  2. Compile Smart Contracts

    truffle compile
  3. Deploy Smart Contracts

    • Start Ganache and note the RPC server URL (usually http://127.0.0.1:7545).
    • Deploy the contracts:
      truffle migrate --network development

Setting Up the Frontend

  1. Navigate to the Frontend Folder

    cd ../frontend
  2. Install Dependencies

    npm install
  3. Update contractInfo.js as per your deployed contract [truffle-setup/build/contracts/NotesStorage.json].

    export const CONTRACT_ABI = []; // Your contract ABI here
    
    export const CONTRACT_ADDRESS = ""; // Your contract address here
    
  4. Start the Development Server

    npm start

Smart Contract Interaction

  • Smart contracts are written in Solidity and located in the truffle-setup/contracts/ folder.
  • To test the contracts:
    cd truffle-setup
    truffle test

Technologies Used

  • Truffle: Development framework for Ethereum.
  • React: Frontend JavaScript library.
  • Bootstrap: CSS framework for styling.
  • Solidity: Smart contract programming language.
  • Web3.js: JavaScript library for Ethereum interaction.
  • Ganache: Local blockchain for testing.

Contributing

Feel free to fork the repository and submit pull requests.


License

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

About

A simple and secure decentralized application (dApp) for storing personal notes on the Ethereum blockchain. This project leverages blockchain technology to ensure data integrity, transparency, and immutability, allowing users to store and access their notes without relying on centralized servers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published