Chuyển đến nội dung chính
Phiên bản: 2.0.0

Gaia Web3 Voting Starter

Bầu chọn AI Gaia

Một ứng dụng bỏ phiếu phi tập trung được xây dựng bằng Next.js, Hardhat và Gaia . Bạn có thể tạo tình huống bỏ phiếu và chọn các lựa chọn bạn muốn bỏ phiếu và bỏ phiếu bằng AI Agent.

Về Gaia

Gaia là một cơ sở hạ tầng điện toán phi tập trung cho phép mọi người tạo, triển khai, mở rộng quy mô và kiếm tiền từ các tác nhân AI của riêng họ. Dự án này sử dụng khả năng AI của Gaia để cung cấp một tác nhân thông minh cho các tương tác bỏ phiếu blockchain.

Cấu trúc dự án

gaia-web3-voting-starter/
├── gói/
│ ├── blockchain/ # Hợp đồng thông minh và mã blockchain
│ │ ├── hợp đồng/ # Hợp đồng thông minh Solidity
│ │ ├── ignition/ # Các tập lệnh triển khai Hardhat Ignition
│ │ ├── scripts/ # Hardhat scripts
│ │ ├── test/ # Kiểm tra hợp đồng
│ │ └── hardhat.config.ts # Cấu hình Hardhat
│ │
│ └── site/ # Ứng dụng frontend Next.js
│ ├── app/ # Bộ định tuyến ứng dụng Next.js
│ │ ├── api/ # Tuyến API
│ │ ├── chat/ # Trang trò chuyện
│ │ └── page.tsx # Trang chủ
│ ├── components/ # Các thành phần phản ứng
│ │ ├── chat/ # Các thành phần liên quan đến trò chuyện
│ │ └── ui/ # Các thành phần UI (nút, thẻ, v.v.)
│ ├── ai/ # Tích hợp AI
│ │ └── tools.ts # Công cụ AI cho tương tác blockchain
│ └── public/ # Tài sản tĩnh

Đặc trưng

  • Biểu quyết do AI-Agent hỗ trợ : Tương tác với blockchain thông qua các lệnh ngôn ngữ tự nhiên
  • Nhà máy hợp đồng thông minh : Tạo các trường hợp bỏ phiếu mới với các tùy chọn và thời lượng có thể tùy chỉnh
  • Biểu quyết trên chuỗi : Bỏ phiếu an toàn trên chuỗi khối với kết quả minh bạch
  • Quản lý bỏ phiếu : Xem các phiếu bầu đang hoạt động và lịch sử với thông tin trạng thái chi tiết
  • Khả năng tương thích chuỗi chéo : Triển khai trên Linea Sepolia hoặc bất kỳ chuỗi nào khác tương thích với EVM

Thiết lập nút Gaia của bạn

Để sử dụng nút Gaia của riêng bạn với ứng dụng này, hãy làm theo các bước sau:

Tùy chọn 1: Chạy nút của riêng bạn

  1. Cài đặt Gaia Node :

    cuộn tròn -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | Bash
  2. Khởi tạo với Model :

    # Dành cho mô hình Llama-3-Groq-8B (khuyến nghị cho dự án này)
    gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-groq-8b-tool/config.json

    # Hoặc chọn một mô hình khác từ các cấu hình có sẵn
    # Duyệt các tùy chọn tại: https://github.com/GaiaNet-AI/node-configs
  3. Bắt đầu Node :

    Gaianet bắt đầu
  4. Cập nhật đơn đăng ký của bạn :

    • Biến đổi gói/trang web/ứng dụng/api/trò chuyện/route.ts để trỏ đến nút cục bộ của bạn:
    hằng số ĐIỂM KẾT THÚC GAIA_API = 'http://gaiaURL/v1' ;
    hằng số MÔ HÌNH GAIA = 'Llama-3-Groq-8B-Công cụ' ;

Tùy chọn 2: Nhận Khóa API

  1. Tạo tài khoản :

    • Truy cập https://gaianet.ai và nhấp vào Khởi chạy ứng dụng
    • Kết nối ví MetaMask của bạn
  2. Tạo khóa API :

    • Nhấp vào menu thả xuống hồ sơ của bạn và chọn Cài đặt
    • Điều hướng đến Gaia API Keys và nhấp vào Create API Key
    • Đặt tên cho khóa của bạn và lưu nó một cách an toàn
  3. Cập nhật đơn đăng ký của bạn :

    • Biến đổi gói/trang web/ứng dụng/api/trò chuyện/route.ts để sử dụng khóa API của bạn:
    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. Thêm vào Biến môi trường :

    • Tạo hoặc cập nhật .env.local trong gói/trang web thư mục:
    GAIA_API_KEY=khóa_api_của_bạn_ở_đây

Yêu cầu hệ thống

Nếu chạy nút của riêng bạn, hãy đảm bảo hệ thống của bạn đáp ứng các yêu cầu sau hoặc bắt đầu với một mô hình LLM nhỏ:

Hệ thốngYêu cầu tối thiểu
OSX với Apple Silicon (chip M1-M4)RAM 16GB (khuyến nghị 32GB)
Ubuntu Linux 20.04 với Nvidia CUDA 12 SDKVRAM 8GB trên GPU
Azure/AWSPhiên bản GPU Nvidia T4

Lệnh của tác nhân AI

Ứng dụng này bao gồm một tác nhân AI giúp người dùng tương tác với hệ thống bỏ phiếu thông qua các lệnh ngôn ngữ tự nhiên:

1. Tạo một phiếu bầu mới

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

Tùy chọn thời lượng:

  • 1 - 1 giờ
  • 2 - 1 Ngày
  • 3 - 1 tuần

2. Xem phiếu bầu

Hiển thị tất cả các phiếu bầu (bao gồm cả phiếu đã kết thúc):

Hiển thị tất cả các phiếu bầu
nhận được tất cả các phiếu bầu
danh sách bỏ phiếu

Chỉ hiển thị các phiếu bầu đang hoạt động:

hiển thị các phiếu bầu đang hoạt động
liệt kê các phiếu bầu đang hoạt động
nhận được phiếu bầu tích cực

3. Bỏ phiếu

bỏ phiếu cho tùy chọn [địa chỉ hợp đồng] [số]

Ví dụ:

bỏ phiếu cho 0x1234...5678 tùy chọn 2

4. Các lệnh bổ sung

  • Trợ giúp hoặc lệnh - Hiển thị tất cả các lệnh có sẵn
  • tình trạng bỏ phiếu - Nhận tóm tắt về các cuộc bỏ phiếu đang diễn ra và đã kết thúc
  • phiếu bầu của tôi - Xem lịch sử bỏ phiếu của bạn

Nâng cao AI Agent với Cơ sở kiến thức

Để làm cho tác nhân AI của ứng dụng bỏ phiếu của bạn mạnh mẽ hơn và có khả năng nhận biết ngữ cảnh hơn, bạn có thể tích hợp hệ thống cơ sở kiến thức của Gaia:

  1. Tạo Cơ sở kiến thức dành riêng cho việc bỏ phiếu :

    • Tài liệu về các mẫu bỏ phiếu phổ biến và các trường hợp sử dụng
    • Bao gồm các giải thích về khái niệm bỏ phiếu blockchain
    • Thêm các câu hỏi thường gặp về quá trình bỏ phiếu
    • Bao gồm các ví dụ về chiến dịch bỏ phiếu thành công
  2. Cấu trúc cơ sở kiến thức của bạn :

    • Sắp xếp thông tin theo danh mục (ví dụ: "Tạo phiếu bầu", "Bỏ phiếu", "Xem kết quả")
    • Bao gồm siêu dữ liệu như dấu thời gian và thẻ để tìm kiếm tốt hơn
    • Sử dụng markdown hoặc tệp văn bản thuần túy để bảo trì dễ dàng
  3. Nhập vào Gaia :

    • Sử dụng các công cụ của Gaia để nhập cơ sở kiến thức của bạn
    • Hệ thống sẽ tự động chuyển đổi nội dung của bạn thành nội dung nhúng bằng Qdrant
    • Cấu hình tác nhân AI của bạn để tham chiếu cơ sở kiến thức này
  4. Lợi ích của việc tích hợp cơ sở kiến thức :

    • Độ chính xác được cải thiện : Tác nhân sẽ cung cấp phản hồi chính xác hơn và phù hợp với ngữ cảnh hơn
    • Trải nghiệm người dùng được cải thiện : Người dùng sẽ nhận được hướng dẫn hữu ích hơn về quy trình bỏ phiếu
    • Khả năng mở rộng : Khi cơ sở kiến thức của bạn phát triển, khả năng của tác nhân sẽ mở rộng mà không cần đào tạo lại
    • Hiệu quả : Tác nhân có thể nhanh chóng truy cập thông tin được sắp xếp trước thay vì xử lý dữ liệu theo thời gian thực

Cơ sở kiến thức được cấu hình sẵn

Chúng tôi đã tạo ra một cơ sở kiến thức được cấu hình sẵn dành riêng cho DApp bỏ phiếu Web3. Bạn có thể sử dụng nó với nút Gaia của mình:

  1. Các tập tin cơ sở kiến thức :

  2. Cấu hình nút Gaia của bạn : Chạy lệnh sau để cấu hình nút Gaia của bạn với cơ sở kiến thức bỏ phiếu:

cấu hình gaianet
--ảnh chụp https://huggingface.co/datasets/meowy-ai/web3-knowledge-base/resolve/main/default-8461598741381726-2025-04-29-07-50-41.snapshot.tar.gz
--system-prompt "Bạn là một giảng viên web3 hữu ích, vui lòng trả lời các câu hỏi"


Để biết thêm thông tin về cơ sở kiến thức trong Gaia, hãy truy cập [Tài liệu cơ sở kiến thức Gaia](https://docs.gaianet.ai/knowledge-bases/intro).

## Bắt đầu

### Điều kiện tiên quyết

- Đã cài đặt Node.js
- Ví có một số ETH thử nghiệm trên Sepolia (Bạn có thể sử dụng bất kỳ L1/L2 nào bạn muốn)
- [Alchemy](https://www.alchemy.com/) hoặc khóa API Infura
### Cài đặt

1. Sao chép kho lưu trữ:
```búa
git clone git@github.com:meowyx/gaia-web3-voting-starter.git
cd gaia-web3-voting-starter
  1. Cài đặt các phụ thuộc:
cài đặt pnpm
  1. Cấu hình biến môi trường:
# Trong các gói/chuỗi khối
cp .env.ví dụ .env
# Thêm khóa API Alchemy và khóa riêng tư của ví
  1. Biên soạn và triển khai hợp đồng:
gói cd/blockchain
npx hardhat biên dịch
npx hardhat ignition triển khai ignition/modules/votingFactory.ts --network linea-testnet
  1. Bắt đầu giao diện:
gói cd/trang web
pnpm phát triển

Kiến trúc

  • Hợp đồng thông minh : Mô hình nhà máy để triển khai các trường hợp bỏ phiếu
  • Frontend : Next.js với giao diện trò chuyện hỗ trợ AI
  • Blockchain : Mạng thử nghiệm Linea Sepolia để triển khai
  • Tích hợp AI : Công cụ tùy chỉnh cho tương tác blockchain