TON 주소 변환기: Raw ↔ Bounceable ↔ Non-Bounceable

TON 주소를 어떤 형식으로든 붙여넣으면 원시 workchain:hash, bounceable EQ…와 non-bounceable UQ… 형식, 테스트넷 전용 변형을 CRC16 체크섬 검증과 함께 보여 줍니다.

사용자 친화적 48자 base64(bounceable EQ…, non-bounceable UQ…, 테스트넷 kQ… / 0Q…) 또는 원시 workchain:hash 형식.

브라우저에서 JavaScript로 검사합니다. 주소는 절대 업로드되거나 저장되지 않습니다.

TON 주소 변환기란?

TON 주소 변환기는 The Open Network의 한 계정을 원시 형식(workchain:hash, 예: 0:83df…31a8)과 TON 주소 문서에 정의된 사용자 친화적 형식 사이에서 변환합니다. 후자는 플래그, workchain, 해시, CRC16 체크섬으로 이루어진 36바이트 구조를 base64로 인코딩한 익숙한 48자 문자열 EQ…(bounceable)와 UQ…(non-bounceable)입니다. 모든 형식은 같은 스마트 컨트랙트 계정을 가리키며, 보내는 쪽이 그 계정을 어떻게 다룰지 지시하는 방식만 다릅니다.

사용자 친화적 주소의 구조

바이트필드의미
0태그0x11 bounceable, 0x51 non-bounceable; 테스트넷 전용은 0x80을 더함(0x91, 0xD1)
1Workchain0x00 basechain, 0xFF masterchain(부호 있는 바이트로 -1)
2–33계정 해시컨트랙트 초기 상태(코드 + 데이터)의 SHA-256
34–35CRC160–33번 바이트에 대한 CRC-16/XMODEM, big-endian

36바이트의 base64는 패딩 없이 정확히 48자이므로 모든 사용자 친화적 TON 주소는 길이가 같습니다. 앞 두 글자는 태그와 workchain 바이트의 상위 비트에서 나옵니다. 메인넷 workchain 0은 EQ와 UQ, masterchain은 Ef와 Uf, 테스트넷은 kQ와 0Q입니다.

예시

원시 주소 0:83dfd552e63729b472fcbcc8c45ebcc6691702558b68ec7527e1ba403a0f31a8을 예로 들어 봅니다. 앞에 태그 0x11과 workchain 0x00을 붙이고, 그 34바이트의 CRC-16/XMODEM을 덧붙인 뒤 base64url로 인코딩하면 bounceable 형식 EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N이 됩니다. 태그를 0x51로 바꾸면 첫 글자와 체크섬이 바뀌어 UQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqEBI가 됩니다. 해시가 같으므로 가운데 43자는 동일합니다. 위에 어느 문자열이든 붙여넣으면 도구가 원시 형식을 복원하고 네 가지 변형을 모두 보여 줍니다.

Bounceable과 non-bounceable: 무엇을 쓸까

  1. 사람에게 보낼 때. non-bounceable UQ… 형식을 사용하세요. 상대방의 지갑 컨트랙트가 아직 배포되지 않았다면(완전히 새 지갑) bounceable 전송은 되돌아와 상대방이 아무것도 받지 못합니다.
  2. 스마트 컨트랙트를 호출할 때. bounceable EQ… 형식을 사용하세요. 호출이 실패하면 컨트랙트가 메시지를 되돌려 TON이 수수료를 제외하고 돌아오며, 묶이지 않습니다.
  3. 거래소 입금. 메모나 코멘트를 포함해 거래소의 안내를 따르세요. 주소 형식이 목적지를 바꾸지는 않지만, 플래그는 실패 시 동작을 바꿉니다.

CRC 검사가 중요한 이유

TON 주소는 base64이므로 한 글자만 틀려도 해시가 조용히 바뀌고, 바뀐 해시는 다른(아마도 존재하지 않는) 계정입니다. CRC16은 한 글자 오류는 전부, 여러 글자 오류는 대부분 잡아냅니다. 이 도구는 체크섬이 실패한 사용자 친화적 주소는 변환을 거부하며, 의도를 추측하지 않습니다. 원시 주소에는 체크섬이 아예 없으므로 원시 주소를 변환할 때 결과는 붙여넣은 hex만큼만 정확합니다. 앞뒤 글자를 원본과 비교하세요.

일반적인 용도

이 사이트의 다른 주소 도구: 암호화폐 주소 검증기와 Tron 주소 변환기.

자주 묻는 질문

EQ… TON 주소와 UQ… TON 주소의 차이는 무엇인가요?

같은 계정입니다. EQ…는 bounceable 형식(태그 바이트 0x11)으로, 목적지 컨트랙트가 없거나 메시지를 거부하면 TON이 보낸 사람에게 되돌아옵니다. UQ…는 non-bounceable(태그 0x51)로, 초기화되지 않은 지갑에도 전송이 입금됩니다. 지갑 앱은 수신용으로 UQ…를 보여 주고, EQ…는 스마트 컨트랙트에 사용됩니다.

TON을 받으려면 어떤 형식을 알려 줘야 하나요?

non-bounceable UQ… 형식입니다. 특히 아직 아무것도 보낸 적 없는 새 지갑이라면 더욱 그렇습니다. 초기화되지 않은 지갑으로의 bounceable 전송은 되돌아와 수신자가 아무것도 받지 못합니다. 지갑이 배포되면 두 형식 모두 작동하며, 대부분의 최신 지갑은 선택을 알아서 처리합니다.

원시 0:… 형식이란 무엇인가요?

정식 주소입니다. workchain(지갑이 있는 basechain은 0, masterchain은 -1)과 컨트랙트 초기 코드 및 데이터의 256비트 해시를 workchain:hex로 적은 것입니다. 체크섬도 bounce 플래그도 없으며, 그래서 사용자 친화적 형식이 존재합니다.

kQ…와 0Q…는 무슨 뜻인가요?

태그 바이트에 테스트넷 전용 비트(0x80)가 설정된 같은 두 형식입니다. kQ…는 bounceable 테스트넷, 0Q…는 non-bounceable 테스트넷입니다. 메인넷 지갑은 이를 거부합니다. 기반이 되는 원시 주소는 메인넷과 동일합니다.

TON 주소 체크섬은 어떻게 계산하나요?

36바이트 사용자 친화적 형식은 태그(1바이트), workchain(1바이트), 해시(32바이트), 그리고 앞 34바이트에 대한 2바이트 CRC-16/XMODEM(다항식 0x1021, 초기값 0)으로 구성되며, 이를 base64 또는 URL-safe base64로 인코딩합니다. 도구는 CRC를 다시 계산해 일치하지 않는 주소를 거부합니다.

- _ 버전과 + / 버전이 둘 다 보이는 이유는?

표준 base64는 +와 /를, URL-safe base64는 -와 _를 사용합니다. 둘 다 같은 바이트로 디코딩되며 둘 다 유효한 TON 주소입니다. 익스플로러와 지갑은 링크에 넣을 수 있도록 보통 URL-safe 형식을 보여 주며, 변환기는 둘 다 표시합니다.