Ana içeriğe geç
Sürüm: 2.0.0

Gaia Web3 Oylama Başlatıcısı

Gaia Yapay Zeka Oylaması

Next.js, Hardhat ve Gaia ile oluşturulmuş merkezi olmayan bir oylama uygulaması. Oylama durumu oluşturabilir ve oylamak istediğiniz seçenekleri seçebilir ve AI Agent ile oylayabilirsiniz.

Gaia Hakkında

Gaia, herkesin kendi yapay zeka aracılarını oluşturmasına, dağıtmasına, ölçeklendirmesine ve bunlardan para kazanmasına olanak tanıyan merkezi olmayan bir bilgi işlem altyapısıdır. Bu proje, blok zinciri oylama etkileşimleri için akıllı bir aracı sağlamak üzere Gaia'nın yapay zeka yeteneklerini kullanmaktadır.

Proje Yapısı

gaia-web3-voting-starter/
├── paketler/
│ ├── blockchain/ # Akıllı sözleşmeler ve blockchain kodu
│ │ ├── sözleşmeler/ # Solidity akıllı sözleşmeler
│ │ ├── ateşleme/ # Baret Ateşleme dağıtım komut dosyaları
│ │ ├── scripts/ # Hardhat scripts
│ │ ├── test/ # Sözleşme testleri
│ │ └── hardhat.config.ts # Hardhat yapılandırması
│ │
│ └── site/ # Next.js ön uç uygulaması
│ ├── app/ # Next.js uygulama yönlendiricisi
│ │ ├── api/ # API rotaları
│ │ ├── sohbet/ # Sohbet sayfası
│ │ └── page.tsx # Ana sayfa
│ ├── bileşenler/ # React bileşenleri
│ │ ├── chat/ # Sohbetle ilgili bileşenler
│ │ └── ui/ # UI bileşenleri (düğme, kart, vb.)
│ ├── ai/ # Yapay zeka entegrasyonu
│ │ └─ tools.ts # Blok zinciri etkileşimi için yapay zeka araçları
│ └── kamu/ # Statik varlıklar

Özellikler

  • AI-Agent Destekli Oylama: Doğal dil komutları aracılığıyla blok zinciri ile etkileşim
  • Akıllı Sözleşme Fabrikası: Özelleştirilebilir seçenekler ve sürelerle yeni oylama örnekleri oluşturun
  • Zincir Üzerinde Oylama: Şeffaf sonuçlarla blok zincirinde güvenli bir şekilde oy kullanın
  • Oylama Yönetimi: Aktif ve geçmiş oylamaları ayrıntılı durum bilgileriyle görüntüleyin
  • Çapraz Zincir Uyumluluğu: Linea Sepolia veya diğer EVM uyumlu zincirlere dağıtın

Gaia Düğümünüzü Kurma

Bu uygulama ile kendi Gaia düğümünüzü kullanmak için aşağıdaki adımları izleyin:

Seçenek 1: Kendi Düğümünüzü Çalıştırın

  1. Gaia Node'u yükleyin:

    curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
  2. Bir Model ile başlatın:

    # Llama-3-Groq-8B modeli için (bu proje için önerilir)
    gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-groq-8b-tool/config.json

    # Veya mevcut konfigürasyonlardan başka bir model seçin
    # Seçeneklere şu adresten göz atın: https://github.com/GaiaNet-AI/node-configs
  3. Düğümü başlatın:

    gaianet başlangıç
  4. Başvurunuzu Güncelleyin:

    • Değiştirmek packages/site/app/api/chat/route.ts yerel düğümünüzü işaret etmek için:
    const GAIA_API_ENDPOINT = 'http://gaiaURL/v1';
    const GAIA_MODELİ = 'Llama-3-Groq-8B-Tool';

Seçenek 2: Bir API Anahtarı Alın

  1. Bir Hesap Oluşturun:

    • https://gaianet.ai adresine gidin ve Uygulamayı Başlat'a tıklayın
    • MetaMask cüzdanınızı bağlayın
  2. Bir API Anahtarı oluşturun:

    • Profilinizin açılır menüsüne tıklayın ve Ayarlar'ı seçin
    • Gaia API Anahtarları 'na gidin ve API Anahtarı Oluştur'a tıklayın
    • Anahtarınıza bir isim verin ve güvenli bir şekilde kaydedin
  3. Başvurunuzu Güncelleyin:

    • Değiştirmek packages/site/app/api/chat/route.ts API anahtarınızı kullanmak için:
    const GAIA_API_ENDPOINT = 'https://api.gaianet.ai/v1';
    const GAIA_MODEL = 'Llama';

    // Add your API key here
    const openai = createOpenAI({
    baseURL: GAIA_API_ENDPOINT,
    apiKey: "" // API key Here
    });

  4. Ortam Değişkenlerine Ekle:

    • Oluşturun veya güncelleyin .env.local içinde paketler/site dizin:
    GAIA_API_KEY=your_api_key_here

Sistem Gereksinimleri

Kendi düğümünüzü çalıştırıyorsanız, sisteminizin bu gereksinimleri karşıladığından emin olun veya küçük bir LLM modeli ile başlayın:

SistemMinimum Gereksinimler
Apple Silicon ile OSX (M1-M4 çip)16GB RAM (32GB önerilir)
Nvidia CUDA 12 SDK ile Ubuntu Linux 20.04GPU üzerinde 8GB VRAM
Azure/AWSNvidia T4 GPU Örneği

Yapay Zeka Ajan Komutları

Uygulama, kullanıcıların doğal dil komutları aracılığıyla oylama sistemiyle etkileşime girmesine yardımcı olan bir yapay zeka aracısı içermektedir:

1. Yeni Bir Oylama Oluşturun

create voting "Your voting description" options: option1, option2, option3 duration: <number>

Süre seçenekleri:

  • 1 - 1 Saat
  • 2 - 1 Gün
  • 3 - 1 Hafta

2. Oylamaları Görüntüle

Tüm oylamaları gösterin (sona erenler dahil):

tüm oylamaları göster
tüm oylamaları al
liste oylamaları

Sadece aktif oylamaları göster:

aktif oylamaları göster
aktif oylamaları listele
aktif oylama alın

3. Oy Kullanın

sözleşme-adresi] seçeneği için oy [sayı]

Örnek:

0x1234...5678 seçenek 2 için oy verin

4. Ek Komutlar

  • Yardım veya komutlar - Mevcut tüm komutları göster
  • oy verme durumu - Aktif ve sona eren oylamaların bir özetini alın
  • benim oylarım - Oylama geçmişinizi görüntüleyin

Yapay Zeka Ajanının Bilgi Tabanları ile Geliştirilmesi

Oylama uygulamanızın yapay zeka aracısını daha güçlü ve bağlama duyarlı hale getirmek için Gaia'nın bilgi tabanı sistemini entegre edebilirsiniz:

  1. Oylamaya Özel Bilgi Tabanı Oluşturun:

    • Yaygın oylama modellerini ve kullanım durumlarını belgeleyin
    • Blok zinciri oylama kavramlarının açıklamalarını ekleyin
    • Oylama süreci hakkında sıkça sorulan soruları ekleyin
    • Başarılı oylama kampanyalarından örnekler ekleyin
  2. Bilgi Tabanınızı Yapılandırın:

    • Bilgileri kategorilere göre düzenleyin (örneğin, "Oy Oluşturma", "Oy Verme", "Sonuçları Görüntüleme")
    • Daha iyi aranabilirlik için zaman damgaları ve etiketler gibi meta verileri ekleyin
    • Kolay bakım için markdown veya düz metin dosyaları kullanın
  3. Gaia'ya aktarın:

    • Bilgi tabanınızı içe aktarmak için Gaia'nın araçlarını kullanın
    • Sistem, Qdrant'ı kullanarak içeriğinizi otomatik olarak yerleştirmelere dönüştürecektir
    • Yapay zeka aracınızı bu bilgi tabanına başvuracak şekilde yapılandırın
  4. Bilgi Tabanı Entegrasyonunun Faydaları:

    • Geliştirilmiş Doğruluk: Temsilci daha doğru ve bağlamla ilgili yanıtlar verecektir
    • Geliştirilmiş Kullanıcı Deneyimi: Kullanıcılar oylama süreçleri hakkında daha fazla yardımcı rehberlik alacaklar
    • Ölçeklenebilirlik: Bilgi tabanınız büyüdükçe, aracının yetenekleri yeniden eğitime gerek kalmadan genişler
    • Verimlilik: Temsilci, verileri gerçek zamanlı olarak işlemek yerine önceden düzenlenmiş bilgilere hızlı bir şekilde erişebilir

Önceden Yapılandırılmış Bilgi Tabanı

Özellikle Web3 oylama DApp'leri için önceden yapılandırılmış bir bilgi tabanı oluşturduk. Gaia düğümünüz ile kullanabilirsiniz:

  1. Bilgi Bankası Dosyaları:

  2. Gaia Düğümünüzü Yapılandırın: Gaia düğümünüzü oylama bilgi tabanı ile yapılandırmak için aşağıdaki komutu çalıştırın:

gaianet yapılandırması
--snapshot https://huggingface.co/datasets/meowy-ai/web3-knowledge-base/resolve/main/default-8461598741381726-2025-04-29-07-50-41.snapshot.tar.gz
--system-prompt "Siz yardımcı bir web3 eğitmenisiniz, lütfen soruları yanıtlayın"


Gaia'daki bilgi tabanları hakkında daha fazla bilgi için [Gaia Knowledge Bases Documentation] (https://docs.gaianet.ai/knowledge-bases/intro) adresini ziyaret edin.

## Başlarken

### Önkoşullar

- Node.js yüklü
- Sepolia üzerinde bir miktar test ETH'si olan bir cüzdan (İstediğiniz herhangi bir L1/L2'yi kullanabilirsiniz)
- [Alchemy](https://www.alchemy.com/) veya Infura API anahtarı
### Kurulum

1. Depoyu klonlayın:
```bash
git clone git@github.com:meowyx/gaia-web3-voting-starter.git
cd gaia-web3-voting-starter
  1. Bağımlılıkları yükleyin:
pnpm kurulumu
  1. Ortam değişkenlerini yapılandırın:
# packages/blockchain içinde
cp .env.example .env
# Alchemy API anahtarınızı ve cüzdan özel anahtarınızı ekleyin
  1. Sözleşmeleri derleyin ve dağıtın:
cd packages/blockchain
npx hardhat derleme
npx hardhat ignition deploy ignition/modules/votingFactory.ts --network linea-testnet
  1. Ön ucu başlatın:
cd packages/site
pnpm dev

Mimarlık

  • Akıllı Sözleşmeler: Oylama örneklerini dağıtmak için fabrika modeli
  • Ön uç: Yapay zeka destekli sohbet arayüzü ile Next.js
  • Blockchain: Linea Sepolia dağıtım için test ağı
  • Yapay Zeka Entegrasyonu: Blockchain etkileşimi için özel araçlar