Celo'da Token Oluşturucu
Bu proje, ContractKit kullanarak Celo blok zincirinde ERC20 tokenlerinin nasıl otomatik olarak oluşturulacağını ve dağıtılacağını göstermektedir. Yapay zeka destekli bir isim oluşturucu (Llama 3.2 8B parametre modelini çalıştıran Gaia'nın Public Node'unu kullanarak) ve otomatik dağıtım komut dosyaları içerir.
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.
Ön Koşullar
- Node.js v20.x +
- İçinde test jetonları olan bir cüzdan (bunları almanıza yardımcı olacağız!)
Başlarken
- Bu depoyu klonlayın
git clone https://github.com/harishkotra/celo-token-agent
cd celo-token-agent
- Bağımlılıkları yükleme
npm kurulumu
- Oluşturmak
.env
dosya:
PRIVATE_KEY=sizin_özel_anahtarınız
GAIA_API_KEY=your_gaia_api_key
Test Belirteçlerini Alma
Belirteçlerinizi dağıtmadan önce bazı test belirteçlerine ihtiyacınız olacaktır:
- Celo Musluk'u ziyaret edin
- Cüzdanınızı bağlayın veya hesap adresinizi yapıştırın
- Almak için tıklayın:
- A-CELO (gaz ücretleri için)
- cUSD (isteğe bağlı)
Musluk size dağıtım için kullanabileceğiniz test jetonları gönderecektir.
Nasıl Çalışır
ContractKit Entegrasyonu
Bu proje, blok zinciri ile etkileşim kurmak için Celo'nun ContractKit'ini kullanıyor. İşte her parçanın ne yaptığı:
tokenGenerator.js
: AI kullanarak benzersiz token adları oluşturur (Llama 3.2 8B çalıştıran Gaia'nın Public Node'unu kullanarak) veya rastgele üretime geri dönertokenDeployer.js
: ContractKit kullanarak akıllı sözleşme dağıtımını yönetirMemeToken.sol
: OpenZeppelin ile inşa edilen ERC20 token sözleşmesi
Kullandığımız temel ContractKit özellikleri:
// Initialize ContractKit
const web3 = new Web3(rpcUrl);
const kit = newKitFromWeb3(web3);
// Add your account
kit.addAccount(privateKey);
// Deploy using A-CELO for gas
const tx = await deploy.send({
from: defaultAccount,
gas
});
Akıllı Sözleşme
Tokenımız standart bir ERC20 tokenıdır:
- Özel ad ve sembol
- Konuşlandırmada ilk tedarik seti
- Standart transfer ve onay fonksiyonları
Dağıtım
- Sözleşmeyi derleyin:
npx hardhat derleme
- Belirteçinizi dağıtın:
node deploy.js
Senaryo:
- Bir belirteç adı oluşturun
- Bakiyenizi kontrol edin
- Sözleşmeyi dağıtın
- Size sözleşme adresini ve işlem detaylarını sağlamak
Kodu Anlamak
Proje üç ana bileşen kullanmaktadır:
-
Jeton Üretimi
- Yaratıcı token adları oluşturur
- Rastgele üretime geri dönüşlü yapay zeka kullanır
- İlk token tedariğini yapılandırır
-
Sözleşme Dağıtımı
- Celo ile etkileşim için ContractKit kullanır
- Gaz tahminini ve işlem izlemeyi yönetir
- Dağıtım durumu güncellemeleri sağlar
-
Akıllı Sözleşme
- Standart ERC20 uygulaması
- Güvenlik için OpenZeppelin ile oluşturuldu
- Celo'nun Alfajores test ağına dağıtılabilir
Örnek Yanıtlar
AI generated token: { name: "Satoshi's Catnip", symbol: 'SCP' }
Reading artifacts from: /Users/shk/experiments/onchainkit-gaia/artifacts/contracts/MemeToken.sol/MemeToken.json
Deploying from account: 0xbDe71618Ef4Da437b0406DA72C16E80b08d6cD45
Account balance:
A-CELO: 10.353296994614 A-CELO
Sending deployment transaction...
Transaction sent! Hash: 0xd5b17d8ce38ddf50ca7366cf658b3d24d6d9a1d0e3bce6e50b870bd50e961792
Deployment confirmed in block: 35794429
Token deployed successfully!
{
name: "Satoshi's Catnip",
symbol: 'SCP',
address: '0x0563109c80733Ea484F86b653262ecA50b8a06d6',
transactionHash: '0xd5b17d8ce38ddf50ca7366cf658b3d24d6d9a1d0e3bce6e50b870bd50e961792',
explorer: 'https://alfajores.celoscan.io/address/0x0563109c80733Ea484F86b653262ecA50b8a06d6'
}
AI generated token: { name: 'LolToken', symbol: 'LOL' }
Reading artifacts from: /Users/shk/experiments/onchainkit-gaia/artifacts/contracts/MemeToken.sol/MemeToken.json
Deploying from account: 0xbDe71618Ef4Da437b0406DA72C16E80b08d6cD45
Account balance:
A-CELO: 10.337778442114 A-CELO
Sending deployment transaction...
Transaction sent! Hash: 0xfe83c066173362374b1c6a420c2fdc37f7fd4f923bd3d8a3b94e384988cbde13
Deployment confirmed in block: 35797227
Token deployed successfully!
{
name: 'LolToken',
symbol: 'LOL',
address: '0x47442330f26B58D7C1b7D13ed20fE1244aE58Dbe',
transactionHash: '0xfe83c066173362374b1c6a420c2fdc37f7fd4f923bd3d8a3b94e384988cbde13',
explorer: 'https://alfajores.celoscan.io/address/0x47442330f26B58D7C1b7D13ed20fE1244aE58Dbe'
}
Yardıma mı ihtiyacınız var?
- Celo'ya özgü sorular için: Celo Dokümanları
- ContractKit detayları için: ContractKit Dokümantasyonu
- Bu acenteyle ilgili ayrıntılı bir blog makalesini buradan okuyabilirsiniz.
- Gaia'nın Halka Açık Düğümleri
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.