Skip to content
justbiarPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Suiholar - Akademik Tokenizasyon ve Fonlama Platformu

Suiholar, akademik araştırmaları Sui blockchain üzerinde tokenlaştırmak ve fonlamak için geliştirilmiş kapsamlı bir platformdur. Bu proje, araştırmacıların akademik çalışmalarını güvenli, şeffaf ve kalıcı şekilde blockchain teknolojisi ile saklayabilmelerini ve projelerine fonlama alabilmelerini sağlar.

🎯 Proje Amacı

  • 📚 Akademik çalışmaları blockchain üzerinde tokenlaştırmak
  • 💰 Araştırma projelerine crowdfunding sistemi sağlamak
  • 🔒 Walrus decentralized storage ile güvenli dosya depolama
  • 🤝 Araştırmacılar arasında ortaklık ve işbirliği platformu
  • 📊 Şeffaf fonlama takibi ve progress tracking
  • 🖼️ Görsel destekli proje sunumları

🏗️ Proje Yapısı

Suiholar/
├── move/                    # Move smart contracts
│   ├── Move.toml           # Package configuration
│   └── sources/
│       └── project_factory.move
├── frontend/               # React TypeScript frontend
│   ├── package.json
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── config/
│   │   └── App.tsx
│   └── public/
├── sdk/                    # TypeScript SDK
│   ├── package.json
│   └── src/
│       ├── suiholarSDK.ts
│       └── index.ts
└── docs/                   # Documentation

🚀 Teknoloji Stack

Backend

  • Blockchain: Sui Network (Testnet)
  • Smart Contract Dili: Move
  • Network: Official Sui Testnet
  • RPC Endpoint: https://fullnode.testnet.sui.io:443
  • Storage: Walrus Decentralized Storage

Frontend

  • Framework: React 18 + TypeScript
  • Styling: Tailwind CSS
  • Wallet Integration: @mysten/dapp-kit
  • Blockchain Interaction: @mysten/sui.js
  • State Management: React Hooks + localStorage
  • File Upload: HTML5 File API
  • Image Handling: Base64 + Object URLs

Security & Encryption

  • PDF Encryption: AES-256-CBC
  • File Security: Client-side encryption before upload
  • Key Management: Local key storage (development mode)

📋 Özellikler

🏭 Project Factory (Akıllı Sözleşme)

  • Yeni akademik projeler oluşturma
  • Token tabanlı akademik yayın sistemi
  • Fonlama ve yatırım token yönetimi
  • Proje yayınlama ve görünürlük kontrolü
  • Ortaklık sistemi ve sayaç

🎨 Frontend (React App)

  • 🏠 Ana Sayfa: Platform tanıtımı ve genel bilgiler
  • 📝 Proje Oluştur: Kapsamlı akademik proje formu
    • PDF dosya yükleme ve AES-256 şifreleme
    • Proje görseli yükleme (JPG, PNG, WebP)
    • Token konfigürasyonu
    • Fonlama hedefi belirleme
  • 📊 Projeler Sayfası:
    • Görsel destekli proje kartları
    • Fonlama progress bar'ları
    • "Ortak Ol", "Fonla", "Detay" butonları
    • Gelişmiş filtreleme ve arama
  • 💰 Fonlama Sistemi:
    • SUI ile proje fonlama
    • Real-time fonlama takibi
    • Fonlama hedefi ve ilerleme gösterimi
    • Ortaklık sayısı tracking
  • 🔐 Güvenlik:
    • Wallet entegrasyonu (Sui Wallet)
    • Secure transaction signing
    • AES-256 PDF encryption

🛠️ SDK (TypeScript)

  • Blockchain etkileşimi için özel API
  • Proje oluşturma, yayınlama fonksiyonları
  • Fonlama transaction'ları
  • Event monitoring ve metadata çekme
  • Test mode localStorage integration

🛠️ Kurulum ve Çalıştırma

Önkoşullar

  • Node.js (v16 veya üzeri)
  • Sui CLI
  • Git

1. Repository'yi Klonlayın

git clone <repository-url>
cd Suiholar

2. Move Contracts

cd move
sui move build
sui move test
sui move publish --gas-budget 20000000

3. SDK Kurulumu

cd ../sdk
npm install
npm run build

4. Frontend Kurulumu

cd ../frontend
npm install
npm start

📝 Kullanım

🆕 Proje Oluşturma

  1. Frontend uygulamasında "Proje Oluştur" sayfasına gidin
  2. Cüzdanınızı bağlayın (Sui Wallet)
  3. Gerekli bilgileri doldurun:
    • 📋 Proje başlığı ve yazarlar
    • 📄 Proje özeti ve anahtar kelimeler
    • 🖼️ Proje görseli (dosya yükleme)
    • 📁 PDF dosyası (otomatik AES-256 şifreleme)
    • 🪙 Token konfigürasyonu
    • 💰 Fonlama hedefi (SUI)
  4. İşlemi onaylayın ve blockchain'e gönderin

💰 Proje Fonlama

  1. Projeler sayfasında ilgilendiğiniz projeyi bulun
  2. Fonlama progress bar'ını kontrol edin
  3. "Fonla" butonuna tıklayın
  4. Fonlama miktarını belirleyin (SUI)
  5. Transaction'ı onaylayın
  6. Ortak olarak listelerin ve funding progress güncellensin

🤝 Ortaklık Sistemi

  • Projelere fonlama yaparak ortak olabilirsiniz
  • Ortaklık sayınız profil istatistiklerinde görünür
  • Fonladığınız projeler Dashboard'unuzda listelenir

🔍 Proje Keşfi

  • Görsel destekli proje kartları
  • Fonlama durumu ve ortaklık bilgileri
  • Anahtar kelime ve yazar bazlı filtreleme
  • Real-time progress tracking

🔧 Geliştirme

Yeni Özellik Ekleme

  1. Move contracts: move/sources/ dizininde değişiklik yapın
  2. SDK: sdk/src/ dizininde ilgili fonksiyonları ekleyin
  3. Frontend: frontend/src/ dizininde UI bileşenlerini güncelleyin

Test Etme

# Move contracts test
cd move && sui move test

# SDK test
cd sdk && npm test

# Frontend test
cd frontend && npm test

🌐 Network Konfigürasyonu

Proje Official Sui Testnet'e bağlanacak şekilde yapılandırılmıştır:

  • Network: Sui Testnet
  • RPC URL: https://fullnode.testnet.sui.io:443
  • Explorer: Sui Explorer
  • Faucet: Sui Testnet Faucet
  • Package ID: Test modunda 0x2::coin (geliştirme)

🔧 Test Modu

Geliştirme aşamasında proje test modunda çalışır:

  • LocalStorage tabanlı proje saklama
  • Mock transaction'lar
  • Test fonlama sistemi
  • Real wallet integration

📚 API Dokümantasyonu

SuiholarSDK Kullanımı

import { SuiClient } from '@mysten/sui.js/client';
import { TransactionBlock } from '@mysten/sui.js/transactions';

// Client setup
const client = new SuiClient({ 
  url: 'https://fullnode.testnet.sui.io:443' 
});

// Proje oluşturma
const projectData = {
  title: "Araştırma Başlığı",
  authors: ["Yazar 1", "Yazar 2"],
  abstract: "Araştırma özeti...",
  keywords: ["blockchain", "akademik"],
  walrusCid: "walrus_content_id",
  imageUrl: "project_image_data_url",
  initialPaperTokens: 1000,
  paperTokenSuffix: "AI",
  investmentTokenSymbol: "AIINV",
  fundingGoal: 100,
  tokenPriceRate: 100
};

// Fonlama işlemi
const fundingData = {
  projectId: "project_object_id",
  fundingAmount: 10 // SUI amount
};

🔐 Güvenlik Özellikleri

// PDF Encryption
import CryptoJS from 'crypto-js';

const encryptFile = (file: File) => {
  // AES-256-CBC encryption
  const key = CryptoJS.lib.WordArray.random(256/8);
  const iv = CryptoJS.lib.WordArray.random(128/8);
  
  // File encryption process...
  return {
    encryptedData: encrypted,
    key: key.toString(),
    iv: iv.toString()
  };
};

🤝 Katkıda Bulunma

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit edin (git commit -m 'Add amazing feature')
  4. Push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

📄 Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.

👥 Takım

  • Blockchain Development: Move smart contracts
  • Frontend Development: React TypeScript
  • SDK Development: TypeScript API

🔗 Bağlantılar

🖼️ Ekran Görüntüleri

Ana Sayfa

  • Modern ve kullanıcı dostu arayüz
  • Platform özelliklerinin tanıtımı
  • Hızlı navigasyon menüsü

Proje Oluşturma

  • Kapsamlı form arayüzü
  • Dosya yükleme ve şifreleme
  • Real-time form validation
  • Token konfigürasyonu

Projeler Sayfası

  • Görsel destekli proje kartları
  • Fonlama progress bar'ları
  • Filtering ve arama seçenekleri
  • Responsive grid layout

Fonlama Sistemi

  • Kolay fonlama interface'i
  • Transaction onaylama süreçleri
  • Real-time progress tracking
  • Partnership management

🔮 Gelecek Planları

  • 🎯 v2.0: Mainnet deployment
  • 🔗 v2.1: Advanced partnership features
  • 📊 v2.2: Analytics dashboard
  • 🏆 v2.3: Reputation system
  • 🌍 v2.4: Multi-language support
  • 📱 v2.5: Mobile app development

📈 Geliştirme Durumu

  • ✅ Smart contract architecture
  • ✅ Frontend application
  • ✅ Wallet integration
  • ✅ File upload & encryption
  • ✅ Funding system
  • ✅ Progress tracking
  • ✅ Partnership system
  • 🔄 Mainnet deployment (planning)
  • 🔄 Advanced features (development)

⚠️ Önemli Notlar

  • 🧪 Bu proje şu anda test aşamasındadır
  • 🔒 Mainnet kullanımı için ek güvenlik denetimleri gerekebilir
  • 🐋 Walrus entegrasyonu için ayrı setup gerekebilir
  • 📦 Package ID'leri deployment sonrası güncellenmelidir
  • 🔑 Encryption key'leri production'da güvenli bir şekilde saklanmalıdır
  • 💾 Test modunda veriler localStorage'da saklanmaktadır

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages