Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

598
Vistas
Cuando JS pasa valores numéricos como argumentos a la función Solidity, ¿por qué es mejor ponerlos entre comillas?

Definí una función en Solidity:

 function store(uint256 _favoriteNumber) public {}

Luego llame a la función con el argumento 7 en JavaScript:

 contract.store(7);

Pero, según el video de Patrick Collins JS , es mejor envolver el número 7 con citas como esta:

 contract.sotre("7");

Así que aquí hay dos cosas que me confundieron:

  1. ¿Por qué es mejor envolver el número con comillas al pasar un número a una función de contrato de solidez?
  2. ¿Por qué ehter.js puede convertir automáticamente una cadena en un número?
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Javascript admite un conjunto de números más pequeño que Solidity. Específicamente, el valor seguro máximo en JS es 2^53 - 1 , mientras que el valor numérico máximo en Solidity es 2^256 .

Entonces, si, por ejemplo, transfiriera 1 token con 18 decimales, el valor decimal resultante que necesitaría pasar al contrato de Solidity es 1000000000000000000 , que está en algún lugar entre 2^59 y 2^60 , ya más alto que la caja fuerte máxima JS entero de 2^53 - 1 .

Por este motivo, ethers.js y otras bibliotecas de contratos inteligentes de JS aceptan valores numéricos como cadenas JS nativas o como una instancia de una biblioteca auxiliar llamada BigNumber , pero no como números enteros.

Nota: Algunas bibliotecas en algunas versiones pueden convertir el entero nativo en una cadena o BigNumber al principio. Pero, en general, siempre es más seguro pasar los valores no enteros.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda