토큰의 디시멀이 의미하는게 도대체 뭔가요?
ERC기반 토큰 전송에 애를 먹고있네요.
오늘 업체 cto가 디시멀 문제를 재기했습니다.
디시멀 설정이 잘못되어 가지고있는 토큰보다 많은 토큰을 전송하려 시도 하고 있기 때문에 문제가 발생한다는 답변을 받았는데요.
도대체 토큰에 디시멀을 설정하는 이유는 뭔가요?
이더기반 토큰을 커스텀 설정할때 16 또는 4, 6,8등 디시멀을 설정해야 하는데 왜 그렇게 만든것인지 도무지 이해가 가지 않아 질문드립니다.
일반적으로 각 암호화폐마다 표시할 수 있는 소수점의 자리수가 정해져 있습니다. 이더리움은 소수점(decimal) 18자리, 비트코인은 소수점 8자리까지 표시할 수 있는 것이죠.
이렇게 이더리움의 소수점이 18자리인 이유는, 이더리움의 가장 작은 단위가 wei이기 때문입니다. 즉, 1wei는 0.000000000000000001 ETH인 것입니다. 따라서 보통 이더리움 코인의 decimal과 같이 ERC20 토큰을 발행할 때에도 18로 설정하게 됩니다. 하지만 스마트 컨트랙트로 토큰을 발행할 때 decimal을 18보다 낮게 설정하는 것도 가능합니다.
이렇게 decimal을 설정하는 이유는 토큰을 어느 정도까지 나눌 수 있도록 할 것인가가 정해지기 때문입니다. 만약에 토큰 발행 시에 decimal을 16으로 정했다고 한다면 그 자리까지가 최소 단위가 된다고 할 수 있습니다.
끝으로 이더리움 ERC20 토큰을 지갑에서 커스텀으로 추가할 때 decimal을 입력해야 하는 이유는 토큰 발행시에 토큰 컨트랙트에 decimal 설정이 들어가기 때문이라고 볼 수 있겠습니다.
답변이 도움이 되길 바랍니다.