Solana 주소 검증기란?
Solana 주소 검증기는 문자열이 ed25519 공개 키 크기인 정확히 32바이트의 Base58 인코딩인지 확인한 뒤, 그 바이트가 ed25519 곡선 위의 점으로 디코딩되는지 검사합니다. 온커브 키는 일반 지갑의 것이고, 오프커브 값은 프로그램 파생 주소(PDA)입니다. Solana 주소에는 체크섬이 없으므로 곡선 검사가 유일한 오타 감지 수단입니다.
결과가 알려 주는 것
- 유효, 지갑 계정: 문자열이 32바이트로 디코딩되고 키가 ed25519 곡선 위에 있습니다. Phantom, Solflare, Backpack 지갑이 자신의 주소로 표시하는 것입니다.
- 유효, PDA / 오프커브: 형식은 올바르지만 이에 대한 개인 키가 존재할 수 없습니다. 토큰 계정과 프로그램 볼트에서 흔합니다.
- 무효: 잘못된 길이, 허용되지 않는 문자, 또는 실제로는 다른 체인의 주소입니다.
곡선 검사 작동 방식
ed25519 공개 키는 곡선 점의 y 좌표와 부호 비트 하나를 인코딩합니다. 도구는 y로부터 x² = (y² − 1) / (d·y² + 1) mod 2²⁵⁵ − 19를 계산하고 x²의 제곱근이 존재하는지 검사합니다. 존재하면 점이 있으므로 그 키에 개인 키가 있을 수 있고, 없으면 주소는 오프커브입니다. 이 연산은 브라우저에서 BigInt로 실행됩니다.
흔한 Solana 주소 실수
- 마지막 문자 누락. 채팅 앱이 긴 문자열을 자르는 경우가 있습니다. 44자여야 할 주소가 43자면 잘못된 길이로 디코딩되어 실패합니다.
- 민트와 지갑 혼동. USDC의 민트 주소 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v는 유효한 주소이지만, 거기로 토큰을 보내면 소각됩니다. 상대방이 자신의 지갑이라고 알려 준 주소로만 보내세요.
- 이더리움 주소 붙여넣기. 0x…는 Solana가 아닙니다. 브리지를 제외하면 형식이 다른 곳으로 보낸 자산은 사라집니다.
검증된 주소의 Solana Pay 코드는 Solana Pay QR 생성기로 만드세요.