Skip to content

Dispenser - #1

Open
heqmah wants to merge 4 commits into
mainfrom
dispenser
Open

Dispenser#1
heqmah wants to merge 4 commits into
mainfrom
dispenser

Conversation

@heqmah

@heqmah heqmah commented Oct 29, 2024

Copy link
Copy Markdown
Owner

Pull Request Description for MementoChain

Overview

This pull request introduces MementoChain, a decentralized memory sharing platform built on the Stacks blockchain. The platform enables users to create, share, and discover time-locked digital memories securely and privately, utilizing Clarity smart contracts. The goal is to provide a trustless and transparent way to preserve and share meaningful moments.

Key Features

  1. Memory Creation and Management

    • Users can create time-locked memories with customizable unlock delays.
    • Support for multiple content types: text, photo, and audio.
    • Privacy controls, including anonymous posting and targeted sharing with specific recipients.
    • A tagging system for better organization of memories.
    • Customizable titles and descriptions for each memory.
  2. Memory Interaction

    • Users can claim memories once they are unlocked.
    • Ability to like and interact with public memories.
    • A feature to report inappropriate content.
    • Random memory discovery feature for enhanced engagement.
    • User engagement statistics tracking.
  3. Privacy and Security

    • Configurable unlock delays ranging from 1 to 52,560 blocks.
    • Optional anonymity for posted memories.
    • Recipient-specific sharing to control memory access.
    • Community reporting system for content moderation.
    • Creator-controlled deletion capabilities.
  4. Platform Management

    • Contract pause/unpause functionality for maintenance.
    • Comprehensive input validation to ensure data integrity.
    • Tracking of user interactions and memory metadata storage.

Technical Specifications

  • Memory Structure: Each memory includes a content hash, title, description, type, unlock delay, anonymity flag, recipient (optional), and tags.
  • Core Functions: Public functions include create-memory, claim-memory, like-memory, report-memory, and delete-memory, alongside read-only functions for retrieving memory details and user statistics.
  • Error Handling: Comprehensive error handling is implemented for ownership validation, content validation, time-lock enforcement, and privacy controls.

Usage Examples

  • Creating a Memory:
(contract-call? .memento-chain create-memory
    "QmHash..."                ;; content-hash
    "My First Memory"          ;; title
    "A special moment..."      ;; description
    "text"                     ;; memory-type
    u1440                      ;; unlock-delay (blocks)
    false                      ;; is-anonymous
    none                       ;; recipient (optional)
    (list "personal" "2024")   ;; tags
)
**Claiming a Memory:**
(contract-call? .memento-chain claim-memory u1)  ;; memory-id

**Security Considerations**
All user inputs are validated and sanitized.
Time-locks are enforced at the contract level to prevent premature access.
Privacy controls are strictly maintained to protect user data.
A content moderation system is in place to handle inappropriate submissions.
The contract can be paused in emergencies to prevent further interactions.

**Conclusion**
This pull request sets the foundation for a unique decentralized memory sharing platform. The robust feature set, combined with strong privacy and security measures, positions MementoChain as a reliable solution for users to preserve and share their cherished moments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant