An open API service indexing awesome lists of open source software.

https://github.com/prophecy-jimpsons/cnft-mint

A Solana program that enables users to create and mint compressed NFTs (cNFTs) representing prophecies or predictions about future events. Built using the Bubblegum standard for cost-effective NFT minting through state compression.
https://github.com/prophecy-jimpsons/cnft-mint

anchor-lang cnft merkle-tree rust-lang

Last synced: about 2 months ago
JSON representation

A Solana program that enables users to create and mint compressed NFTs (cNFTs) representing prophecies or predictions about future events. Built using the Bubblegum standard for cost-effective NFT minting through state compression.

Awesome Lists containing this project

README

        

# 🔮 Prophecy NFT Program

Turn your predictions into digital prophecies on Solana! This innovative program lets you mint your future visions as compressed NFTs, making prophecy-making both fun and cost-effective.

## ✨ What Makes This Special

Ever wanted to immortalize your predictions on the blockchain? Now you can! Our program lets you:
- 🎯 Create prophecies as compressed NFTs
- 💾 Store predictions efficiently using cutting-edge compression
- ✅ Track prophecy outcomes
- 🎨 Customize your prophecy's metadata

## 🛠️ Quick Start

### Prerequisites
- Node.js 14+ and npm/yarn
- Rust and Cargo
- Solana Tool Suite
- Anchor Framework

### Get Started in Minutes

git clone
cd prophecy-nft
yarn install

## 🏗️ Building & Testing

Build the program
anchor build
Run the test suite
anchor test

## 🧱 How It Works

### Core Magic
- 🌳 Merkle Tree for efficient prophecy storage
- 🔑 Tree Authority PDA for secure management
- 💫 Compressed NFT minting via Bubblegum standard

### Create Your First Prophecy

// Set up your prophecy tree

const merkleTree = generateSigner(umi);
await createTree(umi, {
merkleTree,
maxDepth: 14,
maxBufferSize: 64,
public: true,
});

// Mint your prophecy

await program.methods
.mintCnft(
"ETH to hit 100k in 2025", // Your bold prediction
"ETH100K", // Symbol
"metadata_uri", // Prophecy details
new anchor.BN(100) // Additional data
)
.accounts({
// Account configuration
})
.instruction();

## 🔧 Technical Specs

### Dependencies

- @coral-xyz/anchor: Your Solana development companion

- @metaplex-foundation/mpl-bubblegum: Making compression magic happen

- @metaplex-foundation/umi: Unified Metaplex Interface

- @solana/web3.js: Essential Solana utilities

### Program IDs

const BUBBLEGUM_PROGRAM_ID = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";

const SPL_NOOP_PROGRAM_ID = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";

const SPL_COMPRESSION_PROGRAM_ID = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";

## 🌟 Why Choose This?

- 💰 **Cost-Effective**: State compression keeps minting affordable
- 📈 **Scalable**: Mint prophecies to your heart's content
- 🎨 **Flexible**: Customize your prophecies your way
- ✅ **Verifiable**: Track which prophecies come true

## 🚀 Getting Started

1. Set up your environment:

solana config set --url devnet
solana-keygen new

## 🤝 Want to Contribute?

We love contributions! Here's how:

Email us at [email protected]

## 📜 License

Apache 2.0 - Go forth and prophesy!