Bueno, compañeros, les contaré cómo escribir realmente contratos inteligentes, sin adornos ni tonterías con las que está lleno Internet. Yo mismo sufrí mucho con esto y estoy listo para compartir mi experiencia.
Comenzaré por decir que escribir contratos inteligentes no es tan difícil como parece, pero tampoco es tan fácil como prometen todos esos "gurús" con sus cursos por precios exorbitantes. Especialmente molesta cuando los grandes jugadores del mercado intentan monopolizar este campo de conocimiento.
La elección del idioma es el primer paso hacia el éxito o el fracaso
Para escribir contratos inteligentes, se utiliza principalmente Solidity, que es el estándar en la industria. Pero, para ser honesto, el lenguaje en sí es bastante rudimentario y tiene un montón de agujeros. He trabajado con él durante varios años y constantemente me he encontrado con problemas de los que nadie advierte.
Alternativas hay — FunC para TON, por ejemplo. Pero aquí hay otro problema — hay poca documentación, y a menudo está en inglés con traducción incorrecta.
Configuración del lugar de trabajo
Olvídate de las instrucciones complicadas. Lo que más me conviene es la combinación de Visual Studio Code + extensión para Solidity + Remix IDE para pruebas rápidas. No es necesario reinventar la rueda e instalar un montón de programas, como sugieren las guías oficiales.
Redacción del contrato — escollos
Cuando escribes un contrato, lo más importante es recordar que cualquier error que cometas puede ser utilizado para robar dinero. ¡Literalmente cualquiera! Yo mismo he caído en esa trampa cuando olvidé verificar un desbordamiento en una función simple y estuve a punto de perder una gran suma.
Esto es lo que te diré: no confíes en los ejemplos de la documentación. A menudo contienen código inseguro que no se debe permitir en producción. Y todo tipo de plantillas corporativas generalmente están escritas por personas que a veces ni siquiera entienden los principios básicos de blockchain.
Pruebas: no escatimen en ello
¡Prueba todo cien veces! No creas a quienes dicen "la prueba se puede hacer más tarde". En el mundo de las criptomonedas, este es el camino hacia la pérdida de todo. Normalmente escribo pruebas incluso antes de escribir el propio contrato, pensando en diferentes escenarios de ataque.
He visto proyectos que pierden millones solo porque los desarrolladores fueron demasiado perezosos para probar todos los casos extremos o se apresuraron a lanzarlos.
Despliegue en la red
Cuando despliegues el contrato, no olvides comprobar la comisión. A veces, la red está sobrecargada y, en lugar de una cantidad normal, puede dar una fortuna para la implementación. Una vez estuve a punto de enviar una transacción con una tarifa mayor que el costo del proyecto en sí.
Y no confíes ciegamente en ninguna billetera popular, también están equivocadas. Es mejor utilizar herramientas fiables como el casco o la trufa.
¿Qué sigue?
Incluso después de la implementación, debe supervisar el contrato. Los hackers no duermen, y cada día encuentran nuevas vulnerabilidades. En este sentido, la cadena de bloques es despiadada: una vez que se implementa con un error, y eso es todo, se va.
En realidad, no piensen que los contratos inteligentes son una panacea. La mayoría de los proyectos en blockchain son dinero tirado al viento. Pero si están haciendo algo valioso, háganlo con calidad.
Recuerde: en la blockchain no hay devoluciones de transacciones ni reembolsos de dinero! Aquí usted es completamente responsable de su código.
¡Buena suerte con tus contratos! Y sí, no escuches a todos esos "expertos" con dos semanas de experiencia. Aprende de los errores de los demás, no de los tuyos.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
La redacción de contratos inteligentes: mis notas y opiniones personales
Bueno, compañeros, les contaré cómo escribir realmente contratos inteligentes, sin adornos ni tonterías con las que está lleno Internet. Yo mismo sufrí mucho con esto y estoy listo para compartir mi experiencia.
Comenzaré por decir que escribir contratos inteligentes no es tan difícil como parece, pero tampoco es tan fácil como prometen todos esos "gurús" con sus cursos por precios exorbitantes. Especialmente molesta cuando los grandes jugadores del mercado intentan monopolizar este campo de conocimiento.
La elección del idioma es el primer paso hacia el éxito o el fracaso
Para escribir contratos inteligentes, se utiliza principalmente Solidity, que es el estándar en la industria. Pero, para ser honesto, el lenguaje en sí es bastante rudimentario y tiene un montón de agujeros. He trabajado con él durante varios años y constantemente me he encontrado con problemas de los que nadie advierte.
Alternativas hay — FunC para TON, por ejemplo. Pero aquí hay otro problema — hay poca documentación, y a menudo está en inglés con traducción incorrecta.
Configuración del lugar de trabajo
Olvídate de las instrucciones complicadas. Lo que más me conviene es la combinación de Visual Studio Code + extensión para Solidity + Remix IDE para pruebas rápidas. No es necesario reinventar la rueda e instalar un montón de programas, como sugieren las guías oficiales.
Redacción del contrato — escollos
Cuando escribes un contrato, lo más importante es recordar que cualquier error que cometas puede ser utilizado para robar dinero. ¡Literalmente cualquiera! Yo mismo he caído en esa trampa cuando olvidé verificar un desbordamiento en una función simple y estuve a punto de perder una gran suma.
Esto es lo que te diré: no confíes en los ejemplos de la documentación. A menudo contienen código inseguro que no se debe permitir en producción. Y todo tipo de plantillas corporativas generalmente están escritas por personas que a veces ni siquiera entienden los principios básicos de blockchain.
Pruebas: no escatimen en ello
¡Prueba todo cien veces! No creas a quienes dicen "la prueba se puede hacer más tarde". En el mundo de las criptomonedas, este es el camino hacia la pérdida de todo. Normalmente escribo pruebas incluso antes de escribir el propio contrato, pensando en diferentes escenarios de ataque.
He visto proyectos que pierden millones solo porque los desarrolladores fueron demasiado perezosos para probar todos los casos extremos o se apresuraron a lanzarlos.
Despliegue en la red
Cuando despliegues el contrato, no olvides comprobar la comisión. A veces, la red está sobrecargada y, en lugar de una cantidad normal, puede dar una fortuna para la implementación. Una vez estuve a punto de enviar una transacción con una tarifa mayor que el costo del proyecto en sí.
Y no confíes ciegamente en ninguna billetera popular, también están equivocadas. Es mejor utilizar herramientas fiables como el casco o la trufa.
¿Qué sigue?
Incluso después de la implementación, debe supervisar el contrato. Los hackers no duermen, y cada día encuentran nuevas vulnerabilidades. En este sentido, la cadena de bloques es despiadada: una vez que se implementa con un error, y eso es todo, se va.
En realidad, no piensen que los contratos inteligentes son una panacea. La mayoría de los proyectos en blockchain son dinero tirado al viento. Pero si están haciendo algo valioso, háganlo con calidad.
Recuerde: en la blockchain no hay devoluciones de transacciones ni reembolsos de dinero! Aquí usted es completamente responsable de su código.
¡Buena suerte con tus contratos! Y sí, no escuches a todos esos "expertos" con dos semanas de experiencia. Aprende de los errores de los demás, no de los tuyos.