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

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.

bilgi

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

  1. Bu depoyu klonlayın
git clone https://github.com/harishkotra/celo-token-agent
cd celo-token-agent
  1. Bağımlılıkları yükleme
npm kurulumu
  1. 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:

  1. Celo Musluk'u ziyaret edin
  2. Cüzdanınızı bağlayın veya hesap adresinizi yapıştırın
  3. 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öner
  • tokenDeployer.js: ContractKit kullanarak akıllı sözleşme dağıtımını yönetir
  • MemeToken.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

  1. Sözleşmeyi derleyin:
npx hardhat derleme
  1. Belirteçinizi dağıtın:
node deploy.js

Senaryo:

  1. Bir belirteç adı oluşturun
  2. Bakiyenizi kontrol edin
  3. Sözleşmeyi dağıtın
  4. Size sözleşme adresini ve işlem detaylarını sağlamak

Kodu Anlamak

Proje üç ana bileşen kullanmaktadır:

  1. 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
  2. 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
  3. 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?

bilgi

Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.