5 Trucos Avanzados de Modificadores en Solidity

Descubre 5 trucos avanzados de modificadores en Solidity: cambiar estado, parámetros dinámicos, orden de ejecución y ejecuciones múltiples; guía de buenas prácticas y seguridad para smart contracts.

23 sept 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Introducción: En Solidity los modificadores no solo sirven para validar permisos antes de ejecutar una función, también pueden cambiar el estado, recibir parámetros y controlar el flujo de ejecución de formas avanzadas. A continuación cinco trucos avanzados que todo desarrollador de smart contracts debería conocer y buenas prácticas para aplicarlos con seguridad.

Truco 1 — Modificadores que cambian estado: Un modificador puede actualizar variables de estado cada vez que se invoca. Ejemplo ilustrativo en Solidity: address public owner; uint public modifierCount; modifier onlyOwner { require(msg.sender == owner); modifierCount++; _; } Resultado: modifierCount se incrementa en cada llamada que pasa por onlyOwner. Conclusión: los modificadores pueden funcionar como preprocesadores para logging, preparación de estado o contadores.

Truco 2 — Modificadores dinámicos con parámetros: En lugar de crear muchos modificadores similares, se pueden parametrizar. (a) Parámetros literales: modifier costo(uint value) { require(msg.value >= value); _; } function setX() public payable costo(1 ether) { ... } function setY() public payable costo(2 ether) { ... } (b) Parámetros con valores de función: modifier mayorQue(uint val, uint min) { require(val > min); _; } function setX(uint num) public mayorQue(num, 10) { ... } Resultado: un único modificador para múltiples usos.

Truco 3 — Orden de ejecución con varios modificadores: Los modificadores se ejecutan en el orden en que aparecen en la firma de la función. Por ejemplo: function setX(uint num) public payable costo(1 ether) mayorQue(num, 10) { ... } Flujo: primero se ejecuta costo, luego mayorQue y finalmente el cuerpo de la función. Cada guion bajo _ dentro de un modificador significa ejecutar el siguiente paso en la cadena, y el cuerpo de la función es el último paso.

Truco 4 — Varios guiones bajos para ejecutar el cuerpo múltiples veces: Puedes colocar varios _ en un mismo modificador para hacer que el cuerpo de la función se ejecute varias veces. Ejemplo: uint public count; modifier tripleExecute(uint val) { require(val > 10); _; _; _; } function setX(uint num) public tripleExecute(num) { count++; } Al llamar setX con num mayor que 10, count se incrementa tres veces por llamada. Poco común en producción pero útil para demostrar que _ significa insertar el cuerpo de la función en ese punto.

Truco 5 — Buenas prácticas y consideraciones de seguridad: Evita realizar llamadas externas complejas dentro de modificadores o confiar en efectos secundarios que puedan abrir vectores de reentrancy. No uses modificadores para lógica pesada que consuma gas innecesario; prefiere funciones internas reutilizables cuando la lógica es compleja. Ten cuidado al cambiar estado dentro de modificadores porque puede alterar el orden de efectos y los checks de seguridad. Usa eventos para auditoría y contadores en lugar de depender exclusivamente de cambios en variables de estado dentro de modificadores.

Resumen técnico: Los modificadores en Solidity pueden: actualizar estado, aceptar parámetros dinámicos, encadenarse en un orden controlado y ejecutar el cuerpo de la función múltiples veces si tienen varios _. Su uso responsable mejora la legibilidad y seguridad del contrato.

Sobre Q2BSTUDIO: En Q2BSTUDIO somos expertos en desarrollo de software a medida y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios gestionados. Ofrecemos soluciones integrales que incluyen desarrollo de aplicaciones a medida y software a medida, despliegue y optimización en servicios cloud aws y azure, y protección mediante ciberseguridad y pentesting. También trabajamos en servicios inteligencia de negocio, integración de power bi y desarrollo de ia para empresas con agentes IA y automatización de procesos. Para proyectos de inteligencia artificial puede consultar nuestros servicios de inteligencia artificial y descubrir cómo aplicamos modelos IA para resolver problemas reales de negocio.

Contacto y siguiente paso: Si quieres que adaptemos patrones de seguridad y diseño de modificadores a tus smart contracts, o desarrollar soluciones a medida que integren inteligencia artificial, ciberseguridad y cloud, en Q2BSTUDIO podemos ayudarte a llevar tu producto al siguiente nivel.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.