Q: 왜 토큰 전송할 때 뒤에 0을 몇개 더 붙여야하나요?
A: 솔리디티에서는 토큰 전송 시 숫자를 uint라는 타입으로 다루는데 이는 0 또는 양의 정수만 다 표현하는 방식입니다. 즉 소수점이 없습니다. 그렇기 때문에 솔리디티 계약 상의 (ERC20 토큰 계약) 자체적인 로직에서 자체적으로 소수점을 구현하기 위해 Decimal이라는 단위를 붙여서 사용합니다. USDC의 Deciaml이 6이라면 1000000 (0이 6개) = 1 달러, 10000 (0이 5개) = 0.1달러처럼 간주해서 사용하는거죠.
대부분의 ERC20 토큰은 Decimal이 18이며 (ETH 포함), USDC, USDT 같은 스테이블 코인들은 보통 Decimal이 6입니다.
컨트랙트와 직접적으로 상호작용할 때는 deciaml을 고려해서 입력해주셔야하고, 지갑 내에서 자체적으로 뜨는 팝업에서의 승인 갯수 입력시에는 알아서 변환해주기 때문에 100,000 USDC를 입력해도 알아서 변환해서 넣어줍니다
