Move.

Publicación

Comparte tu conocimiento.

skywinder.
Apr 10, 2025
P&R expertos

¿Qué es una función nativa? ¿Podemos llamarla directamente?

He encontrado el término «función nativa» en Move, pero no puedo encontrar información detallada al respecto. Escuché que se declaran en Move pero se definen externamente, a menudo en Rust. ¿Significa eso que son funciones internas a las que las carteras u otros módulos no pueden invocar directamente?

  • Move CLI
  • Move
2
3
Cuota
Comentarios
.

Respuestas

3
BigDev.
Aug 15 2025, 16:53

En el lenguaje Move de Sui, una función nativa es aquella que se declara en un módulo Move, pero cuyo código real reside fuera del sistema subyacente, normalmente escrito en Rust para la máquina virtual de Sui, que gestiona tareas de bajo nivel, como la criptografía o las operaciones del sistema, que la sintaxis de alto nivel de Move no puede gestionar directamente. Puedes llamar a estas funciones directamente desde tu código de Move en otros módulos o scripts, al igual que las funciones normales de Move, siempre que estén marcadas como públicas e importes el módulo correctamente, de modo que las carteras y otros contratos puedan utilizarlas sin restricciones especiales. Por ejemplo, algo como sui: :hash: :keccak256 es una función nativa a la que puedes invocar para hacer hash de datos y está disponible en tus transacciones o contratos siempre que hagas referencia a ella correctamente. El problema es que están predefinidas en el marco de Sui, por lo que no puedes crear tus propias funciones nativas en Move; estás limitado a lo que proporciona el sistema y su comportamiento depende de la implementación de Rust. Para obtener más información sobre cómo funcionan las funciones nativas en Move y su uso

2
Comentarios
.
mssoni.
Apr 11 2025, 08:43

De hecho, las funciones nativas de Move se declaran dentro del lenguaje, pero no tienen un cuerpo porque se implementan fuera de Move, generalmente en Rust. A pesar de esto, si la función nativa es pública, puede llamarla como cualquier otra función. No están restringidas solo al uso interno. Puedes invocarlos siempre que dispongas de los permisos y el acceso público necesarios.

1
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

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

270Publicaciones616Respuestas
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.