Move.

Publicación

Comparte tu conocimiento.

FUNLOP431.
Aug 13, 2025
P&R expertos

Dominar Move on Sui Network: la guía completa para principiantes y constructores

Si te ha gustado el desarrollo de cadenas de bloques, probablemente hayas notado que cada vez hay más rumores sobreSui Networky su lenguaje de programación único,Move. Este no es solo otro «lenguaje de contratos inteligentes» que compite por la atención de los desarrolladores. Move ofrece una forma completamente diferente de pensar sobre la programación de cadenas de bloques: una forma rápida, segura y perfecta para aplicaciones basadas en activos.

En esta publicación, obtendrás unainmersión exhaustiva en Move on Sui: cómo funciona, por qué es diferente y cómo puedes empezar a desarrollarlo. También analizaremos los errores más comunes, las mejores prácticas y consejos prácticos para triunfar.


#1. ¿Qué es Move y por qué lo usa Sui?**

Move es unlenguaje de programación basado en códigos de bytedesarrollado originalmente por Meta (anteriormente Facebook) para la cadena de bloques Libra/Diem. Sui adoptó Move, pero lo amplió y optimizó para adaptarlo a sumodelo de datos centrado en objetos.

En esencia, Move está diseñado paragestionar de forma seguralos activos digitales. Los lenguajes tradicionales de contratos inteligentes, como Solidity, tratan los activos como números en los saldos de las cuentas, pero en Move, los activos sonciudadanos de primera clase. Esto significa:

  • Los activosno pueden duplicarse accidentalmente.
  • Los activosno se pueden perdersin destruirlos explícitamente.
  • Los activosdeben tener una propiedad clara.

Esta filosofía hace que sea más fácil razonar sobre la seguridad de los activos y evita los errores y los hackeos más comunes.

Por qué Sui eligió Move:

*Seguridad: La propiedad de los activos se aplica a nivel lingüístico. *Velocidad: Mueva los programas se ejecutan rápidamente y evitan cálculos innecesarios. *Flexibilidad: Puedes crear tipos de activos personalizados más allá de los simples tokens. *Ejecución en paralelo: La arquitectura de Sui permite que Move code procese las transacciones en paralelo, lo que aumenta el rendimiento.


#2. Cómo funciona Move en Sui*

Mientras que otras cadenas de bloques ejecutan las transacciones de forma secuencial, Sui organiza los datos enobjetos. Cada objeto:

  • Tiene unpropietario(puede ser un usuario, otro objeto o el sistema).
  • Solo puede ser modificado por su propietario o mediante funciones específicas de Move.
  • Tiene un identificador único.

Move on Sui tiene tres conceptos principales:

1.Objetos

  • Todo lo que se almacena en la cadena es un objeto.
  • Los objetos se almacenan y modifican mediante los módulos Move.
  • Ejemplo: una moneda, un NFT, un personaje del juego.

2.Módulos

  • Contenedores para código Move.
  • Defina los tipos, funciones y reglas sobre el comportamiento de los objetos.

3.Transacciones

  • Acciones que realizan los usuarios.
  • Las funciones Call Move permiten introducir objetos de su propiedad.

#3. Comparando el movimiento con la solididad

| Función | Move (Sui) | Solidity (Ethereum) | -----------------| -------------------------------------------------| | -------------------------------------------| |Enfoque principal| Seguridad de los activos, propiedad | Lógica general de contratos inteligentes | |Modelo de datos| Basado en objetos | Basado en cuentas | |Ejecución| Paralelizado (cuando ningún objeto entra en conflicto) | Secuencial | |Seguridad de tipo| Si se escriben con mucha precisión, los recursos no se pueden copiar ni eliminar | Sistema de tipos más flexibles | |Seguridad| Evita el doble gasto y la pérdida involuntaria de activos | Problemas comunes: reingreso, desbordamiento de enteros |

Si vienes de Solidity, te darás cuenta de que Movete obligaa ser explícito en cuanto a la gestión de activos. Esto a veces resulta frustrante al principio, pero también es la razón por la que los programas de Move son más difíciles de explotar.


#4. Cómo escribir tu módulo First Move en Sui

Veamos un ejemplo básico de Move: un módulo que crea y transfiere un token personalizado.

###Crear un token

module my_project::my_coin {
    use sui::coin;
    use sui::transfer;
    use sui::tx_context::{self, TxContext};

    /// Create a new coin type
    struct MyCoin has drop, store {}

    /// Initialize a new coin and send it to the transaction sender
    public entry fun mint(ctx: &mut TxContext) {
        let coin = coin::mint<MyCoin>(1000, ctx);
        transfer::transfer(coin, tx_context::sender(ctx));
    }
}

Explicación:

  • struct MyCoindefine un nuevo tipo de moneda.
  • mintla función crea 1000 unidades MyCoiny las transfiere al remitente.
  • TxContextda acceso a los detalles de la transacción (como quién la envió).

#5. Tipos de recursos de Move: The Secret Sauce

Move presenta lostipos de recursos, que sonestructuras de datos no copiables ni duplicables. En términos cotidianos: si tienes un billete de 10$, no puedes simplemente «copiarlo»: puedes guardarlo o regalarlo. Los recursos funcionan de la misma manera.

En Move:

struct MyCoin has key, store {
    value: u64
}

*** key— Se puede almacenar como un objeto de nivel superior. *** store— Se puede almacenar dentro de otro objeto.

Si intentascopiarun recurso, el compilador se negará a compilar tu código. Esto evita que se produzcan errores en los que los activos se clonan accidentalmente.


#6. Las extensiones de movimiento específicas para Sui*

Sui hizo varios cambios en Vanilla Move para optimizarlo para laejecución basada en objetos:

*Campos de objetos dinámicos: Puedes añadir campos a los objetos una vez creados. *Objetos compartidos: Varios usuarios pueden interactuar con el mismo objeto. *Referencias mutables: Permiten cambiar los datos de los objetos de forma controlada. *Emisión de eventos: Los módulos Move pueden emitir eventos para los oyentes fuera de la cadena.

Por ejemplo, crear una tabla de clasificación de juegos compartida:

struct Leaderboard has key {
    scores: vector<u64>
}

Esto podría ser actualizado por varios jugadores sin causar cuellos de botella en toda la cadena de bloques.


#7. Flujo de trabajo de desarrollo

Este es el flujo de trabajo básico para desarrollar con Move on Sui:

1.Instale Sui CLI

  curl -fsSL https://sui.io/install.sh | bash

2.Crea un nuevo paquete Move

  sui move new my_project
  1. sourcesEscribe tus módulosen la carpeta.

4.Crea tu paquete

  sui move build

5.Publicar en Sui

  sui client publish --gas-budget 100000000

6.Funciones de llamadamediante:

  sui client call --package <PACKAGE_ID> --module my_module --function my_function

#8. Probando tu código de movimiento

Sui Move admite pruebas unitarias directamente en el idioma.

Ejemplo:

#[test]
fun test_mint() {
    let ctx = test::new_tx_context(@0x1);
    my_project::my_coin::mint(&mut ctx);
    // Add assertions here
}

Ejecute pruebas:

sui move test

#9. Errores comunes que cometen los principiantes

*Olvidarse de pasar TxContext: muchas funciones necesitan crear o &mut TxContexttransferir objetos. *Malentendido sobre la propiedad del objeto: si no eres el propietario, no puedes modificarlo. *No gestionas la destrucción de activos: debes «destruir» de forma explícita los recursos que ya no necesites. *Publicar sin versión: actualizar un módulo significa publicar una nueva versión.


#10. Mejores prácticas para Move on Sui*

*Utilice convenciones de nomenclatura claras: hace que el código sea legible. *Limita el uso de objetos compartidos: son más lentos que los objetos propios. *Emite eventos para los cambios de estado: ayuda a la indexación fuera de la cadena. *Escribe pruebas exhaustivas: el compilador detecta muchas cosas, pero aún así ocurren errores de lógica. *Documenta tus módulos— En el futuro te lo agradecerás.


#11. Casos de uso en el mundo real

*Recursos de juego: cada espada, aspecto o mascota puede ser un objeto único. *NFT Marketplaces: transferencias y subastas seguras con controles de propiedad integrados. *Protocolos DeFi: préstamos, apuestas y permutas mediante una gestión segura de los activos. *Seguimiento de la cadena de suministro: representa las mercancías como objetos que se mueven por el sistema.


#12. El futuro de Move on Sui*

El lenguaje Move de Sui sigue evolucionando. El trabajo actual incluye:

  • Mejoresherramientas para desarrolladores. *Bibliotecas estándarpara patrones comunes. *Interoperabilidadcon otras cadenas de bloques.

A medida que crezca la adopción, podemos esperar una documentación más rica, proyectos de código abierto más grandes e integraciones más profundas con la infraestructura Web3.


##Reflexiones finales

Si te tomas en serio la creación deaplicaciones de cadena de bloques seguras y de alto rendimiento, Move on Sui merece tu atención. Su diseño estricto pero lógico te ayuda a evitar categorías enteras de errores y, al mismo tiempo, permite casos de uso innovadores que no son posibles en las cadenas tradicionales basadas en cuentas.

Ya sea que estés creando un protocolo DeFi, un juego o un ecosistema NFT complejo, Move te brinda loscomponentes básicos para un futuro de cadena de bloques más seguro y rápido.

  • Move CLI
  • Move
  • Smart Contract
0
1
Cuota
Comentarios
.

Respuestas

1
Jeff .
Aug 15 2025, 09:25

Impresionante artículo.

0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

152Publicaciones259Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasAgosto