MetaMask Delegation Toolkit Agent
🌟 Genel Bakış
MetaMask Gaia DTK Starter, Gaia'nın gelişmiş yeteneklerini MetaMask'ın Develegation Toolkit (DTK) ile sorunsuz bir şekilde entegre eden güçlü bir Next.js şablonudur. Bu proje, geliştiricilerin MetaMask'ın güvenli cüzdan altyapısından yararlanırken yapay zeka ile geliştirilmiş işlevlere sahip sofistike blok zinciri uygulamaları oluşturmalarına olanak tanır.
Başlangıç, entegre bir fabrika sözleşmesi aracılığıyla tam bir ERC20 token oluşturma sistemi içerir ve kullanıcıların özel tokenleri doğrudan uygulama aracılığıyla dağıtmasına olanak tanır. Yapay zeka destekli etkileşimlerle birleştiğinde bu, yeni nesil merkezi olmayan uygulamalar oluşturmak için güçlü bir platform oluşturur.
✨ Özellikler
- Yapay Zeka Destekli Etkileşimler: Akıllı ve duyarlı dApp deneyimleri oluşturmak için GaiaNet AI'dan yararlanın
- ERC20 Token Oluşturma: Entegre fabrika sözleşmesi aracılığıyla özel ERC20 tokenleri oluşturun
- Güvenli Blockchain Entegrasyonu: MetaMask'ın güvenilir cüzdan altyapısı aracılığıyla Ethereum ekosistemine bağlanın
- Delegasyon Yönetimi: Kullanıcıdan yapay zekaya temsilci atamalarını yönetmek için Metamask'ın Delegasyon Araç Seti
- Bundler Hizmet Entegrasyonu: İşlem işleme için bundler hizmetlerine önceden yapılandırılmış bağlantı
- Modern UI Bileşenleri: Sohbet arayüzleri, kartlar ve girişler dahil olmak üzere hazır UI bileşenleri
- Next.js Uygulama Yönlendirici: Yeni App Router mimarisi ile Next.js 13+ üzerine inşa edilmiştir
- TypeScript Desteği: Tip güvenliği ve daha iyi geliştirici deneyimi için tam TypeScript entegrasyonu
🚀 Başlarken
Ön Koşullar
- Node.js (v16 veya üstü)
- pnpm paket yöneticisi
- Tarayıcınızda MetaMask uzantısı yüklü
Kurulum
- Depoyu klonlayın:
git clone https://github.com/meowyx/metamask-gaia-starter.git
- Proje dizinine gidin:
cd metamask-gaia-starter
- pnpm kullanarak bağımlılıkları yükleyin:
pnpm kurulumu
- Oluşturmak
.env
dosyasını aşağıdaki yapılandırma ile kök dizinde açın:
# Fabrika sözleşmesi yapılandırması
NEXT_PUBLIC_FACTORY_CONTRACT_ADDRESS=0x...
NEXT_PUBLIC_CREATE_TOKEN_SELECTOR=0x...
# Bundler hizmet yapılandırması
NEXT_PUBLIC_BUNDLER_URL=https://api.pimlico.io/v2/137/rpc?apikey=YOUR_API_KEY
NEXT_PUBLIC_CHAIN_ID=59141
# Infura ve özel anahtar yapılandırması
INFURA_PROJECT_ID=your_infura_project_id
PRIVATE_KEY=sizin_özel_anahtarınız
# Delegasyon depolama yapılandırması
NEXT_PUBLIC_DELEGATION_STORAGE_API_KEY=your_delegation_api_key
NEXT_PUBLIC_DELEGATION_STORAGE_API_KEY_ID=your_delegation_api_key_id
NEXT_PUBLIC_DELEGATION_STORAGE_ENVIRONMENT=geliştirme
# Gaia AI yapılandırması
GAIA_MODEL_BASE_URL=your_gaia_model_url
GAIA_API_KEY=your_gaia_api_key // kendi düğümünüzü çalıştırıyorsanız gerekli değildir
- Geliştirme sunucusunu başlatın:
pnpm dev
- Uygulamanın çalıştığını görmek için tarayıcınızda http://localhost:3000 adresini açın.
📖 Proje Yapısı
├── .next/ # Next.js derleme çıktısı
├── ai/ # Yapay zeka ile ilgili yardımcı programlar
│ └── tools.ts # Yapay zeka araçları uygulaması
├── app/ # Next.js Uygulama Yönlendiricisi
│ ├── api/ # API rotaları
│ ├── globals.css # Küresel stiller
│ ├── layout.tsx # Kök düzen bileşeni
│ └── page.tsx # Ana sayfa bileşeni
├── bileşenler/ # Yeniden kullanılabilir UI bileşenleri
│ ├── ui/ # Temel UI bileşenleri
│ │ ├── badge.tsx # Rozet bileşeni
│ │ ├── button.tsx # Düğme bileşeni
│ │ ├── card.tsx # Kart bileşeni
│ │ └── input.tsx # Giriş bileşeni
│ ├── Chat.tsx # Sohbet arayüz bileşeni
│ ├── DelegationManager.tsx # Delegasyon yönetimi bileşeni
│ └── Message.tsx # Mesaj bileşeni
├── lib/ # Yardımcı fonksiyonlar ve kütüphaneler
├── hizmetler/ # API hizmetleri
│ ├── account.ts # Hesapla ilgili hizmetler
│ ├── bundler.ts # Bundler hizmet uygulaması
│ └── utils.ts # Hizmet yardımcı programları
├── public/ # Statik varlıklar
│ ├── file.svg # Dosya simgesi
│ ├── globe.svg # Küre simgesi
│ ├── next.svg # Next.js logosu
│ └── vercel.svg # Vercel logosu
├── node_modules/ # Bağımlılıklar
├── .env # Ortam değişkenleri
├── package.json # Proje bağımlılıkları
└── pnpm-lock.yaml # pnpm kilit dosyası
🔧 Konfigürasyon
ERC20 Fabrika Sözleşmesi Kurulumu
Bu proje, token oluşturma yeteneklerini etkinleştirmek için ERC20 Fabrika Sözleşmesi ile entegre olur. Entegrasyonu kurmak için aşağıdaki adımları izleyin:
-
ERC20 Factory sözleşmesini klonlayın ve dağıtın:
git clone https://github.com/meowyx/erc20-factory
cd erc20-factory
npm kurulumu
npx hardhat derleme
npx hardhat ignition deploy ignition/modules/tokenFactory.ts --network linea-testnet -
Dağıtımdan sonra
.env
konuşlandırılmış sözleşme adresi ile dosya:NEXT_PUBLIC_FACTORY_CONTRACT_ADDRESS=0x... # Dağıtılan fabrika sözleşme adresi
NEXT_PUBLIC_CREATE_TOKEN_SELECTOR=0x... # createToken için fonksiyon seçici -
Güncelleme
constants.ts
ERC20 Factory ABI ile dosya:// Add the ERC20 Factory ABI to your constants.ts file
export const FACTORY_ABI = [
// ... ABI contents from the compiled contract
{
"inputs": [
{"internalType": "string", "name": "name", "type": "string"},
{"internalType": "string", "name": "symbol", "type": "string"},
{"internalType": "uint8", "name": "decimals", "type": "uint8"},
{"internalType": "uint256", "name": "initialSupply", "type": "uint256"}
],
"name": "createToken",
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
"stateMutability": "nonpayable",
"type": "function"
}
// ... other ABI entries
]; -
Fabrika sözleşmesi, ad, sembol, ondalık sayılar ve ilk tedarik gibi özel parametrelerle yeni ERC20 tokenları oluşturmanıza olanak tanır.
ERC20 Factory proje yapısı:
erc20-fabrika/
├── sözleşmeler/
│ ├── BaseERC20Token.sol # Temel belirteç uygulaması
│ └─ ERC20Factory.sol # Jetonları dağıtmak için fabrika
├── test/
│ └─ ERC20Factory.test.js # Test komut dosyaları
├── ateşleme/
│ └── modüller/
│ └── tokenFactory.js # Dağıtım yapılandırması
├── hardhat.config.js # Hardhat yapılandırması
└── package.json # Proje bağımlılıkları
MetaMask Kurulumu
- MetaMask uzantısını tarayıcınıza yükleyin
- Cüzdan oluşturma veya içe aktarma
- Başlangıçta sağlanan kancaları kullanarak dApp'inizi bağlayın
Gaia Entegrasyonu
- Bir API anahtarı için buradan kaydolun
- API anahtarınızı
.env
altında dosyaGAIA_API_KEY
- Model tabanı URL'sini
.env
altında dosyaGAIA_MODEL_BASE_URL
- 'da önceden yapılandırılmış yapay zeka araçlarını kullanın.
ai/tools.ts
GaiaNet özellikleri ile etkileşim kurmak için
Bundler Hizmet Yapılandırması
- Pimlico 'dan veya tercih ettiğiniz paketleyici hizmetinden bir API anahtarı alın
- Bundler URL'sini şu adrese ekleyin
.env
altında dosyaNEXT_PUBLIC_BUNDLER_URL
- Doğru zincir kimliğini
.env
altında dosyaNEXT_PUBLIC_CHAIN_ID
Delegasyon Sistemi Kurulumu
- Delegasyon depolama API anahtarlarını
.env
dosya - Kullanın
DelegationManager.tsx
kullanıcılar ve yapay zeka ajanları arasındaki delegasyonları yönetmek için bileşen
📚 Dokümantasyon
Bu marşta kullanılan teknolojiler hakkında daha ayrıntılı bilgi için:
🙏 Teşekkür
- MetaMask Del egation Toolkit için Delegation Toolkit.
- Yapay zeka platformu için Gaia
- React çerçevesi için Next.js
- TypeScript için Yapay Zeka Araç Seti için Vercel Yapay Zeka SDK 'sı