Tokens ERC20 y cómo analizarlos

Este contrato ha otorgado tokens ERC20 llamados VSL. Se dice que el suministro total es 33 390 496,03337560002666059, pero si inspecciona el contrato, ese valor se almacena como uint256, lo que significa que su valor es 33390496033375600026660590. ¿Cómo convierte un uint256 para obtener la cantidad correcta emitida?

Respuestas (4)

Al crear un token, el creador del token especifica la cantidad de lugares decimales que necesita para su token. Dado que ethereum no admite completamente los decimales, los decimales definidos por el creador del contacto definen la unidad más pequeña del token. Por ejemplo, si el lugar decimal para el token es ABC Coin es 2, esto significa que la unidad más pequeña del token ABC es 0.01. Entonces, para enviarle a alguien 1 moneda ABC, debe enviarle 100 (1 * número de decimales) tokens ABC.

Ahora hablando de su caso de VSL Token. Las unidades decimales del token VSL son 18. Entonces, si el suministro total es 33390496033375600026660590, significa que el suministro real es 33390496.03337560002666059( 333904960333375600026660590/10^18 ).

Divídalo por 1e18. Debería haber leído más antes de publicar esta pregunta.

Tenga en cuenta que diferentes tokens pueden usar diferentes números de lugares decimales entre 1e0 y 1e18.

Tenga en cuenta que Solidity no admite números de punto flotante, por lo que todo se expresa en números enteros. Para los tokens, lo que tendría que hacer es multiplicar o dividir el número dado por la variable de decimales que dicho token ha especificado.

Hay una documentación detallada escrita por mí aquí .

Proporcione parte del enlace que proporcionó como texto. Solo el enlace no se considera una buena respuesta, ya que el enlace puede romperse en el futuro.
Dado que Microsoft compra GitHub, no veo cómo el enlace podría romperse en cualquier momento cercano. :pags