봇 시스템 가이드
개요
Admin Panel에서 다양한 블록체인 봇을 제어할 수 있습니다.
- Transfer Bot: ETH 자동 전송
- ERC20 Bot: ERC20 토큰 생성 및 전송
- NFT Bot: NFT 민팅 및 전송
Admin Panel에서 봇 제어
URL: https://flutterdev.online/admin
봇 상태 확인
- Bots 섹션에서 각 봇의 상태 확인
- Running (초록색): 실행 중
- Stopped (빨간색): 중지됨
봇 시작/중지
- Start 버튼: 봇 시작
- Stop 버튼: 봇 중지
Transfer Bot
ETH를 여러 주소로 자동 전송합니다.
기능
- 설정된 간격으로 ETH 전송
- 랜덤 금액 전송 옵션
- 트랜잭션 로그 기록
설정
Bot Backend 환경변수:
TRANSFER_INTERVAL=5000 # 전송 간격 (ms)
TRANSFER_AMOUNT=0.01 # 전송 금액 (ETH)ERC20 Bot
ERC20 토큰을 자동으로 생성하고 전송합니다.
기능
- 새 ERC20 토큰 컨트랙트 배포
- 토큰 전송 자동화
- 토큰 정보 조회
배포되는 토큰 스펙
- Standard: ERC20
- 초기 공급량: 1,000,000 토큰
- Decimals: 18
NFT Bot
NFT를 자동으로 민팅하고 전송합니다.
기능
- ERC721 NFT 컨트랙트 배포
- 자동 민팅
- NFT 전송
배포되는 NFT 스펙
- Standard: ERC721
- Metadata: On-chain
Bot Backend API
봇 상태 조회
bash
curl https://flutterdev.online/api/bots/statusTransfer Bot 시작
bash
curl -X POST https://flutterdev.online/api/bots/transfer/startTransfer Bot 중지
bash
curl -X POST https://flutterdev.online/api/bots/transfer/stopERC20 Bot 시작
bash
curl -X POST https://flutterdev.online/api/bots/erc20/startNFT Bot 시작
bash
curl -X POST https://flutterdev.online/api/bots/nft/startDocker 관리
Bot Backend 컨테이너 확인
bash
docker ps | grep bot로그 확인
bash
docker logs bot-api -f --tail 100재시작
bash
cd /home/blockchain/bot-backend
docker compose restart문제 해결
"replacement fee too low" 오류
Nonce 충돌 발생. 봇을 재시작하면 해결됩니다.
bash
docker restart bot-api봇이 시작되지 않는 경우
- RPC 연결 확인
- 지갑 잔액 확인
- 로그 확인:
docker logs bot-api
트랜잭션이 pending 상태로 유지
- 블록체인 상태 확인
- Gas price 확인
- 봇 재시작
커스텀 봇 개발
기본 구조
javascript
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider('http://el-1-geth-lighthouse:8545');
async function runBot() {
// 봇 로직 구현
while (isRunning) {
// 트랜잭션 전송
await sendTransaction();
// 대기
await sleep(interval);
}
}Docker Network 연결
봇 컨테이너는 kt-howling-swamp 네트워크에 연결되어야 합니다.
yaml
# docker-compose.yml
networks:
blockchain:
name: kt-howling-swamp
external: true