PRISM is a revolutionary decentralized content ecosystem that leverages blockchain technology and NFTs to create a fair, transparent, and rewarding environment for content creators and consumers alike. By implementing a unique Multi-Level Marketing (MLM) structure, PRISM ensures that value is distributed across the network, incentivizing content creation, curation, and sharing.
- Overview
- Features
- MLM Structure
- Revenue Model
- Process Flow
- Function Descriptions
- Getting Started
- Contributing
PRISM allows users to tokenize digital articles as NFTs, creating a verifiable chain of ownership and provenance for written content. This system enables content creators to monetize their work, readers to support authors directly, and a transparent ecosystem for digital publishing. The innovative MLM structure encourages content sharing and curation, creating a self-sustaining content economy.
- Create and mint Article NFTs
- Update article content (for owners)
- View article details and minting history
- Transfer ownership of Article NFTs
- Multi-level marketing structure for content sharing
- Revenue sharing between platform, creators, and curators
PRISM implements a Multi-Level Marketing structure for content sharing and curation:
- Level 0 (Original Creator): The original author of the content.
- Level 1: Users who directly mint or share content from the original creator.
- Level 2: Users who mint or share content from Level 1 users.
- Level 3: Users who mint or share content from Level 2 users.
This structure can extend to multiple levels, with diminishing returns at each level to ensure sustainability.
PRISM's revenue model benefits both the platform and its users:
- Content Creators: Earn revenue from initial sales and ongoing royalties from subsequent mints.
- Curators: Earn a percentage of sales when their shared content is minted by others.
- Readers: Potential to earn by identifying and sharing valuable content early.
- Minting Fees: A small fee is collected for each new NFT minted.
- Transaction Fees: A percentage of each sale or transfer is collected by the platform.
- Premium Features: Additional revenue from premium account features or services.
When a new Article NFT is minted from an existing one:
- 50% goes to the original creator
- 30% is distributed among the levels in the MLM structure
- 20% goes to the PRISM platform
This model incentivizes quality content creation, active curation, and platform growth.
The following flowchart illustrates the main processes and decision points in the Article NFT system:
graph TD
A[Start] --> B{User Action}
B -->|Create Article| C[Call createArticle]
B -->|Mint from Existing| D[Call mintArticle]
B -->|Update Article| E[Call updateArticle]
B -->|View Article| F[Call getArticle]
B -->|View Minting Chain| G[Call getMintingChain]
B -->|Transfer Article| H[Call transferFrom]
C --> I{Is Valid?}
I -->|Yes| J[Mint New NFT]
I -->|No| K[Revert Transaction]
J --> L[Set Token URI]
L --> M[Store Article Details]
M --> N[Emit ArticleCreated Event]
D --> O{Parent Exists?}
O -->|Yes| P{Sufficient Payment?}
O -->|No| K
P -->|Yes| Q[Mint New NFT]
P -->|No| K
Q --> R[Copy Parent Metadata]
R --> S[Distribute Royalties]
S --> T[Emit ArticleMinted Event]
E --> U{Is Owner?}
U -->|Yes| V[Update Article Details]
U -->|No| K
V --> W[Update Token URI]
F --> X[Return Article Details]
G --> Y[Calculate and Return Minting Chain]
H --> Z{Is Authorized?}
Z -->|Yes| AA[Transfer NFT Ownership]
Z -->|No| K
N --> AB[End]
T --> AB
W --> AB
X --> AB
Y --> AB
AA --> AB
K --> AB
createArticle
: Creates a new Article NFT with original content.mintArticle
: Mints a new NFT based on an existing article, establishing a derivative relationship.updateArticle
: Allows the owner to update the content of their Article NFT.getArticle
: Retrieves the details of a specific Article NFT.getMintingChain
: Returns the lineage of an Article NFT, showing its derivation history.transferFrom
: Transfers ownership of an Article NFT to a new address.
git clone https://github.com/deoxicit/Prism.git
-
cd PrismContract
-
forge install
-
Update env with appropriate values
forge create Prism --rpc-url opencampuscodex --private-key=private_Key --constructor-args {primary_contract_owner_address}
forge verify-contract --rpc-url https://rpc.open-campus-codex.gelato.digital --verifier blockscout --verifier-url 'https://opencampus-codex.blockscout.com/api/' {contract_address} --compiler-version v0.8.26 src/Prism.sol:Prism
-
cd frontend
-
pnpm install
-
pnpm run dev
We welcome contributions to the PRISM.