Solana Agent Ops Skill
이것은 "내 봇이 내 노트북에서 작동한다"와 "내 봇이 메인넷에서 무인으로 돈을 잃지 않고 실행된다" 사이의 계층입니다.
이 기술은 이미 트랜잭션을 구성하는 방법을 알고 있다고 가정합니다. 다루는 내용은 에이전트가 프로덕션 환경에서 생존하기 위해 필요한 모든 것, 즉 안정적으로 트랜잭션을 착륙시키고, 여러 서명자의 키를 안전하게 보유하며, 재시도 시 이중 지출하지 않고, RPC 제한 내에서 유지되며, 스케줄러에서 실행되고, 손상을 입히기 전에 스스로 종료하는 방법입니다.
핵심 트랜잭션 구성, @solana/kit, 프로그램 및 클라이언트 패턴에 대해서는 solana-dev-skill을 확장합니다. 이것은 그 위에 추가되는 운영 애드온이며, 명령어 구성 방법을 다시 가르치지 않습니다.
이 기술을 사용해야 할 때
사용자가 다음 중 하나를 수행하는 경우 이 기술을 참조하세요.
- 사람이 감시하지 않고 트랜잭션에 서명하고 전송하는 봇, 키퍼 또는 에이전트를 구축하거나 운영하는 경우
- 트랜잭션이 착륙하지 않는 이유(드롭, 만료된 blockhash, 확인되지 않음)를 묻는 경우
- 여러 서명자 지갑을 운영하고 키 저장, 자금 조달 또는 교체에 대해 걱정하는 경우
- 재시도로 인해 이중 지출되거나 작업이 두 번 실행될까 걱정하는 경우
- RPC 제공업체로부터 429 또는 속도 제한을 경험하는 경우
- 에이전트를 크론(cron) 또는 스케줄러에 배치하고 안전하게 실패하도록 하고 싶은 경우
- 기존 봇에 모니터링, 알림, 킬 스위치 또는 지출 한도를 추가하는 경우
작업이 일회성 트랜잭션 구성(명령어, CPI, PDA 구축)이라면 여기가 아니라 solana-dev-skill에 속합니다.
작업 라우팅
필요한 파일만 읽으십시오. 작업당 하나의 기본 대상입니다.
| 작업 | 읽을 파일 |
|---|---|
| 트랜잭션 드롭/만료/착륙 안 됨/느림 | transaction-landing.md |
| compute units + priority fees 조정 | transaction-landing.md |
| Jito 번들 / MEV / 원자적 다중 트랜잭션 | transaction-landing.md |
| N개의 서명자 지갑 관리, 키 저장, 자금 충전 | keypair-fleet.md |
| "이미 실행되었나?" / 이중 실행 방지 | idempotency.md |
| 429, RPC 예산, 엔드포인트 장애 조치 | rate-limiting.md |
| 크론 실행 / 실행당 한 사이클 / 종료 코드 | scheduling.md |
| 상태 확인, 잔액/실패 알림, 대시보드 | monitoring.md |
| 킬 스위치, 지출 한도, 서킷 브레이커, 드라이런 | safety.md |
| 공식 문서, RPC 제공업체, 라이브러리 | resources.md |
운영 모델 (이것을 먼저 읽으십시오)
모든 프로덕션 에이전트는 네 가지 불변(invariant)을 중심으로 구축되어야 합니다. 모듈 파일은 이를 강제하기 위해 구성됩니다.
- 보내기 전에 시뮬레이션하세요. 시뮬레이션에 실패한 트랜잭션은 온체인에서도 실패하므로 무료로 알아내십시오. (transaction-landing.md)
- 모든 전송은 멱등적(idempotent)입니다. 프로세스가 도중에 충돌하여 다시 시작되면 재생해도 이중 실행되지 않아야 합니다. 즉, 실행되지 않았을 것이라고 가정하는 대신 멱등성 키와 온체인 또는 상태 저장소 확인이 필요합니다. (idempotency.md)
- 사이클당 자금에는 상한선이 있습니다. 지출 한도, 슬리피지 범위, 이상 징후에 반응하는 서킷 브레이커 모두 코드로 적용되며 머리로 기억하지 않습니다. (safety.md)
- 실행당 한 사이클, 깨끗하게 종료하세요. 스케줄러가 다시 호출하므로 일시적인 RPC 결함에 대해 0이 아닌 종료 코드로 종료하면 새벽 3시에 아무 이유 없이 호출될 수 있습니다. (scheduling.md)
기본 스택 (2026년 6월 기준)
- 클라이언트:
@solana/kit(web3.js v2). web3.js v1 패턴은 생태계가 여전히 사용하는 경우 메모됩니다. - 런타임: Node 22+ / TypeScript 5.5+. 속도가 필요한 키퍼를 위해 Rust 패턴도 제공됩니다.
- RPC: 공급업체 중립. Helius, Triton 및 QuickNode 관련 사항은 표시되지만 필수는 아닙니다.
- 번들: Jito (
jito-ts또는 block-engine REST), 선택 사항, 원자성 및 MEV 보호용. - 스케줄링: 일반 cron, systemd 타이머, GitHub Actions 또는 서버리스 cron, 모두 실행당 한 사이클.
각 항목의 공식 링크는 resources.md를 참조하세요.
관련 키트 기술 (중복하지 마십시오)
- 에이전트를 프레임워크로 구축: SendAI
solana-agent-kit. 이 기술은 그 위의 운영 계층입니다. - RPC 공급업체 API(Helius Sender, priority-fee API, Laserstream): Helius 기술. 이 기술은 공급업체 중립을 유지하며 어떤 공급업체 기능이 어떤 운영 문제를 해결하는지 알려줍니다.
- 금고(treasuries) 및 업그레이드 권한을 위한 다중 서명 키 관리: Squads 기술. 이 기술은 운영 서명자 플릿 관리, 즉 일상적인 트랜잭션을 보내는 핫 키를 다루며, 이는 다른 문제입니다.