Solana 일괄 전송이란 무엇인가요?
Solana 일괄 전송은 여러 System Program 또는 SPL Token 전송 명령을 1232바이트 패킷 제한 안에 들어가는 최소한의 트랜잭션으로 묶은 뒤, 지갑에 한 번에 모두 서명하도록 요청합니다. 컨트랙트 배포는 없습니다. 런타임이 트랜잭션의 모든 명령을 원자적으로 실행하므로 각 트랜잭션은 모든 수신자에게 지급되거나 아무에게도 지급되지 않습니다. 이 페이지는 devnet에서만 작동합니다.
단계
- 지갑을 연결합니다. devnet 잔액이 비어 있으면 에어드랍을 누르세요(공개 faucet은 속도 제한이 있으며, faucet.solana.com이 대안입니다).
- SOL을 선택하거나 devnet mint 주소를 붙여넣습니다. 소수점 자릿수와 잔액은 mint와 토큰 계정에서 읽어옵니다.
- 수신자를 붙여넣고 요약을 확인합니다. 서명 전에 트랜잭션 수와 새로 생성될 토큰 계정 수가 표시됩니다.
- 최대 10개 트랜잭션 그룹마다 한 번씩 서명합니다. 로그에 모든 서명이 익스플로러 링크와 함께 표시되며, 마지막에 CSV를 내보낼 수 있습니다.
트랜잭션 구성 방식
SOL 전송은 SystemProgram transfer 명령을 사용합니다. 토큰 전송은 mint의 소수점 자릿수를 포함한 TransferChecked를 사용하므로, 소수점 값이 잘못되면 잘못된 수량을 보내는 대신 온체인에서 실패합니다. 토큰 계정은 재실행해도 안전한 Associated Token Account 명령의 멱등(idempotent) 변형으로 생성됩니다. 코드는 이 명령들을 직접 구성하며 spl-token 라이브러리에 의존하지 않습니다.
제한 및 실패 처리
트랜잭션은 순서대로 전송되고 확인됩니다. 하나가 실패하면(만료된 blockhash, 잔액 부족, RPC 오류) 실행이 중단되고, 실패한 수신자가 결과 표에 표시되며, 남은 행만으로 다시 실행할 수 있습니다. 이미 확인된 전송은 페이지가 절대 반복하지 않습니다.
관련 도구: Solana 주소 검증기로 주소를 확인하고, lamports 변환기로 수량을 변환하세요.