Notes On-Chain is a privacy-focused note-taking application built for the LUKSO ecosystem, designed to store and reference your notes securely with blockchain technology while keeping the content private and accessible only to you. By leveraging Universal Profiles and LSP2 metadata, your notes move with your digital identity, always available wherever you go.
- Privacy-First Design: Notes stored on Pinata's private IPFS network
- On-Chain References: Only IPFS hash stored in your Universal Profile's LSP2 metadata
- Private Content: Only you can access and view your content
- Ownership: True note ownership through your Universal Profile
- Rich Text Editor: Powerful formatting options and organization tools
- Version History: Track changes to your notes over time
- Mobile Responsive: Seamless experience across desktop and mobile devices
- Universal Profile Integration: Seamless connection with your digital identity
- IPFS Storage: Decentralized content storage via Pinata
- Practical Utility: Demonstrates practical everyday use case for Universal Profiles
- Privacy Showcase: Highlights how private data can be securely referenced on-chain
- User Adoption: Provides familiar functionality (notes) with on-chain benefits
- Data Sovereignty: You own your notes, not a centralized service
- Privacy Protection: Your note content remains private
- Identity Integration: Notes tied to your Universal Profile
- Portability: Access your notes from any device with your universal profile
-
Collaboration Features
- Selective note sharing with other Universal Profiles
- Real-time collaborative editing
-
Enhanced Organization
- Folders and tagging system
- Better search functionality with content indexing
- Favorites and pinned notes
-
Rich Media Support
- Image embedding and storage
- File attachments and multimedia support
-
Backup & Restore
- Export/import functionality
- Multiple backup options
-
Cross-Mini-App Integration
- Connect with other LUKSO mini-apps
- Share notes to social platforms or other services
-
Advanced Profile Integration
- Use LSP8 NFTs for premium features
- Build social proof around content creation
- Frontend: Next.js 14
- Styling: Tailwind CSS
- Editor: Slate.js for rich text editing
- Blockchain: viem for blockchain interactions
- Universal Profile: UP Provider
- Data Schemas: ERC725.js, LSP2 metadata
- IPFS Storage: Pinata API
- State Management: React Context
graph TD
A[User Interface] --> B[Note Editor]
A --> C[Note Management]
A --> D[Version History]
B --> E[Content Storage]
C --> E
D --> E
E --> F[IPFS Upload]
F --> G[Get IPFS Hash]
G --> H[Prepare LSP2 Metadata]
H --> I[Encode Data]
I --> J[Update Universal Profile]
subgraph "Universal Profile"
J --> K[LSP2 Metadata]
end
subgraph "Storage"
E
F
end
-
User Interface Layer
- Rich text editor with formatting tools (Slate)
- Note management interface with create/edit/delete
- Version history viewer
-
Data Layer
- Local note state management
- IPFS storage for note content via Pinata
- Universal Profile LSP2 metadata references
-
Process Flow
- User creates or edits a note
- Content is prepared and uploaded to IPFS
- IPFS hash is retrieved
- LSP2 metadata is updated with the hash
- Universal Profile is updated with new metadata
-
Integration Points
- Universal Profile Provider for blockchain interaction
- IPFS (Pinata) for private content storage
- Slate.js for rich text editing capabilities
- Clone the repository:
git clone https://github.com/yourusername/notes-on-chain.git
cd notes-on-chain- Install dependencies:
npm install- Create a
.envfile:
PINATA_API_KEY=your_pinata_api_key
PINATA_API_SECRET=your_pinata_api_secret- Start the development server:
npm run dev- Visit the app in your browser:
http://localhost:3000
- Visit universaleverything.io
- Connect your Universal Profile
- Add a new grid item with your deployed Notes On-Chain URL
- Click on the grid item to open the mini-app
- Start creating your private notes, securely stored on the blockchain
We welcome contributions! Please feel free to submit a Pull Request.
Made with ❤️ for the LUKSO community