블록체인에서 읽은 토큰 잔액이 지갑 화면보다 훨씬 큰 정수로 나타날 수 있다. 수량이 갑자기 늘어난 것이 아니라 표시 단위를 바꾸기 전의 원시값을 보고 있을 가능성이 있다.
이더리움 ERC-20 표준은 decimals라는 항목으로 사용자에게 보여줄 소수점 자릿수를 설명한다. 예를 들어 자릿수가 8이면 원시 수량을 1억으로 나눠 화면에 표시한다.
원시값이 250000000이고 decimals가 8이라면 표시 수량은 2.5개다. 같은 정수라도 소수점 설정이 다르면 화면에 보이는 수량은 달라진다. 토큰 간 잔액을 원시 숫자 그대로 비교하는 것은 단위가 다른 값을 비교하는 셈이다.
소수점 자릿수가 많다는 사실이 토큰의 가격이나 품질을 높여주는 것은 아니다. 자릿수는 작은 단위까지 어떻게 나타낼지 정하는 정보다. 실제 시장가격과 전체 가치는 다른 자료로 판단해야 한다.
표준에서 이름, 기호, 소수점 정보는 선택적 항목으로 제시된다. 모든 토큰이 같은 자릿수를 쓴다고 가정하면 잔액 집계나 전송 금액 표시에서 오류가 생길 수 있다.
수량이 이상할 때는 네트워크와 토큰 계약 주소, decimals 값을 함께 대조해야 한다. 같은 기호를 쓰는 다른 토큰도 있을 수 있다. 화면에 표시된 숫자와 실제 계약이 다루는 단위를 구분하는 것이 출발점이다.
