주요 콘텐츠로 건너뛰기
버전: 2.0.0

Celo의 토큰 생성기

이 프로젝트는 ContractKit을 사용하여 Celo 블록체인에서 ERC20 토큰을 자동으로 생성하고 배포하는 방법을 보여줍니다. 여기에는 AI 기반 이름 생성기(Llama 3.2 8B 매개변수 모델을 실행하는 Gaia의 퍼블릭 노드 사용)와 자동 배포 스크립트가 포함되어 있습니다.

정보

이 예제를 설정하고 실행하기 위한 전체 소스 코드와 자세한 지침은 가이아 쿡북 리포지토리에서 확인할 수 있습니다.

전제 조건

  • Node.js v20.x +
  • 테스트 토큰이 들어있는 지갑(저희가 도와드리겠습니다!)

시작하기

  1. 이 리포지토리 복제
git clone https://github.com/harishkotra/celo-token-agent
cd celo-token-agent
  1. 설치 종속성
npm 설치
  1. 만들기 .env 파일을 만듭니다:
PRIVATE_KEY=귀하의_개인키
GAIA_API_KEY=귀하의_GAIA_API_KEY

테스트 토큰 받기

토큰을 배포하기 전에 테스트 토큰이 필요합니다:

  1. 셀로 수도꼭지 방문하기
  2. 지갑을 연결하거나 계정 주소 붙여넣기
  3. 수신하려면 클릭하세요:
    • A-CELO(가스 요금용)
    • cUSD(선택 사항)

수도꼭지에서 배포에 사용할 수 있는 테스트 토큰을 보내드립니다.

작동 방식

ContractKit 통합

이 프로젝트는 셀로의 컨트랙트키트를 사용하여 블록체인과 상호작용합니다. 각 파트의 기능은 다음과 같습니다:

  • 토큰 생성기.js: AI를 사용하여 고유한 토큰 이름을 생성하거나(Llama 3.2 8B를 실행하는 Gaia의 퍼블릭 노드 사용) 무작위 생성으로 돌아갑니다.
  • 토큰 디플로이러.js: ContractKit을 사용하여 스마트 컨트랙트 배포를 처리합니다.
  • MemeToken.sol: 오픈제플린으로 구축된 ERC20 토큰 컨트랙트

우리가 사용하는 주요 ContractKit 기능:

// 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
});

스마트 계약

저희 토큰은 표준 ERC20 토큰입니다:

  • 사용자 지정 이름 및 기호
  • 배포 시 초기 공급 설정
  • 표준 전송 및 승인 기능

배포

  1. 계약서를 컴파일합니다:
Npx 하드햇 컴파일
  1. 토큰을 배포합니다:
노드 deploy.js

스크립트가 작동합니다:

  1. 토큰 이름 생성
  2. 잔액 확인
  3. 컨트랙트 배포
  4. 계약 주소 및 거래 세부 정보 제공

강령 이해

이 프로젝트는 세 가지 주요 구성 요소를 사용합니다:

  1. 토큰 생성

    • 창의적인 토큰 이름 생성
    • 무작위 생성으로 폴백하는 AI 사용
    • 초기 토큰 공급 구성
  2. 계약 배포

    • ContractKit을 사용하여 Celo와 상호 작용하기
    • 가스 추정 및 거래 모니터링 처리
    • 배포 상태 업데이트 제공
  3. 스마트 계약

    • 표준 ERC20 구현
    • 오픈제플린으로 보안 구축
    • 셀로의 알파조레스 테스트넷에 배포 가능

응답 예시

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'
}

도움이 필요하세요?

정보

이 예제를 설정하고 실행하기 위한 전체 소스 코드와 자세한 지침은 가이아 쿡북 리포지토리에서 확인할 수 있습니다.