Cosmos 주소 변환기: Bech32 접두사 변경

Cosmos 생태계 주소를 붙여넣으면 같은 계정을 20개 주요 체인용으로 다시 인코딩한 결과와 원시 20바이트 hex를 보여 줍니다. Injective, Evmos 등을 위해 0x 계정을 bech32로 인코딩할 수도 있습니다.

모든 bech32 주소(cosmos, osmo, juno, celestia, dydx, inj, sei, kava, akash, stars, axelar, noble, neutron, stride 등), valoper / valcons 주소, 또는 20바이트나 32바이트 0x hex 계정.

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

Cosmos 주소 변환기란?

Cosmos 주소 변환기는 Cosmos SDK 체인의 bech32 주소를 원시 계정 바이트(지갑은 20바이트, 모듈 및 컨트랙트 계정은 32바이트)로 디코딩한 뒤, 그 바이트를 다른 사람이 읽을 수 있는 접두사로 다시 인코딩합니다. 모든 Cosmos SDK 체인은 Cosmos SDK 계정 문서에 설명된 같은 인코딩을 사용합니다. 접두사, 구분자 1, bech32의 32문자 알파벳으로 된 데이터, 6자 체크섬으로 구성됩니다. 체인마다 접두사만 다르므로 바이트가 같은 cosmos1…, osmo1…, juno1… 주소는 같은 키에 속합니다.

변환 방식

  1. 접두사를 포함한 전체 문자열에 대해 bech32 체크섬을 검증합니다. 이 도구는 SegWit 주소와 같은 polymod를 bech32 상수 1로 사용합니다(Cosmos는 bech32m을 사용하지 않습니다).
  2. 5비트 데이터 그룹을 패딩 없이 바이트로 되돌리고, 20바이트 또는 32바이트인지 확인합니다.
  3. 표의 각 접두사에 대해 바이트를 5비트 값으로 재그룹화하고 그 접두사로 새 체크섬을 계산합니다.

예시

주소 cosmos15c20sqakl4uqnp4y93uwe8rlwlnda5futtjxsl은 20바이트 0xa614f803b6fd780986a42c78ec9c7f77e6ded13c로 디코딩됩니다. 이 바이트를 Osmosis 접두사로 다시 인코딩하면 데이터 32자는 같고 6자 체크섬만 다른 osmo1… 주소가 나오는데, 접두사가 체크섬 입력의 일부이기 때문입니다. EIP-55 체크섬이 적용된 0x 형식은 EVM 호환 체인이 같은 바이트에 대해 표시할 주소입니다.

표에 포함된 접두사

접두사체인키 파생접두사체인키 파생
cosmosCosmos Hubsecp256k1celestiaCelestiasecp256k1
osmoOsmosissecp256k1dydxdYdX Chainsecp256k1
junoJunosecp256k1nobleNoblesecp256k1
starsStargazesecp256k1neutronNeutronsecp256k1
akashAkashsecp256k1strideStridesecp256k1
kavaKavasecp256k1evmosEvmosethsecp256k1
secretSecret Networksecp256k1creCrescentsecp256k1
axelarAxelarsecp256k1regenRegensecp256k1
injInjectiveethsecp256k1terraTerrasecp256k1
seiSeisecp256k1 (EVM 주소는 온체인에서 연결)kujiraKujirasecp256k1

이 목록에 없는 접두사의 주소도 디코딩되어 표 맨 위에 자신의 접두사로 표시됩니다.

변환된 주소가 내 것인 경우와 아닌 경우

Keplr, Leap 같은 지갑은 니모닉에서 체인마다 하나의 키를 파생합니다. 표준 coin type 118과 secp256k1 파생을 공유하는 체인에서는 각 체인에서 파생된 주소가 다시 인코딩한 주소와 정확히 일치하며, 그래서 "다른 체인의 내 주소"로 보내는 IBC 전송이 작동합니다. coin type 60과 Ethereum 방식 키를 쓰는 체인(Injective, Evmos)은 다른 바이트를 파생하고, Sei는 바이트를 공유하는 대신 온체인 연결을 통해 별도의 EVM 주소를 sei1 계정에 연결합니다. 변환된 주소로 보내기 전에 해당 체인의 지갑에서 주소를 확인하세요.

일반적인 용도

임의 접두사의 원시 bech32 문자열에는 bech32 인코더 / 디코더를, EIP-55 형식 검증에는 이더리움 체크섬 변환기를 사용하세요.

자주 묻는 질문

cosmos1… 주소와 osmo1… 주소는 같은 계정인가요?

같은 20바이트를 담고 있으며, 표준 secp256k1 파생을 쓰는 체인에서는 같은 니모닉이 둘 다 만들어 냅니다. 하지만 각 체인은 별도의 원장입니다. Osmosis의 토큰은 osmo1 주소에, Cosmos Hub의 토큰은 cosmos1 주소에 있습니다. 다시 인코딩해도 아무것도 이동하지 않으며, 다른 체인에서 내 주소가 어떻게 보이는지 알려 줄 뿐입니다.

내 Injective 또는 Evmos 주소가 변환된 행과 다른 이유는?

Injective, Evmos 등 ethsecp256k1 체인은 Ethereum처럼(비압축 공개 키의 keccak-256) 계정 바이트를 파생하는 반면, 대부분의 Cosmos 체인은 압축 키의 sha256 뒤 ripemd160을 사용합니다. 따라서 같은 니모닉이 두 계열에서 서로 다른 바이트를 만듭니다. 변환기는 붙여넣은 바이트를 그대로 다시 인코딩하므로, inj1 주소를 cosmos1로 변환한 결과는 유효한 문자열이지만 지갑이 Cosmos Hub용으로 보여 주는 주소는 아닙니다.

0x 형식은 어디에 쓰나요?

Injective와 Evmos에서 0x 형식은 MetaMask와 EVM 도구가 사용하는 계정의 Ethereum 주소입니다. 다른 체인에서는 단순히 원시 바이트이며, 디버깅과 모듈 계정 조회에 유용합니다. 이 도구는 EIP-55 체크섬을 적용해 표시합니다.

valoper와 valcons 주소란 무엇인가요?

cosmosvaloper1…은 검증인의 운영자 주소로, 운영자 지갑과 같은 20바이트에 다른 접두사를 붙인 것입니다. cosmosvalcons1…은 검증인 합의 키의 해시입니다. 둘 다 토큰을 받을 수 없습니다. 변환기는 둘 다 인식하며, valoper의 경우 대응하는 계정 주소를 보여 줍니다.

내 주소가 59자인 이유는?

32바이트 주소입니다. 모듈 계정, 인터체인 계정, CosmWasm 컨트랙트 주소는 sha256으로 파생되어 지갑 주소보다 깁니다. 이 도구는 이를 디코딩해 다른 접두사로 다시 인코딩하지만, 이런 계정은 그것을 만든 체인에만 존재합니다.

이 도구는 bech32 체크섬을 검사하나요?

네. Cosmos 주소는 BIP-173의 원래 bech32 체크섬(bech32m 아님)을 사용하며, 이 도구는 변환 전에 이를 검증합니다. 체크섬 실패는 오타를 뜻하고, bech32m 체크섬이면 Cosmos 주소가 아니라 Taproot 주소 등이라는 뜻입니다.