Move.

Publicación

Comparte tu conocimiento.

yhant3.
Apr 07, 2025
P&R expertos

¿Cómo garantizar que solo el propietario de un NFT pueda transferirlo en un contrato?

¡Hola a todos! Estoy trabajando para implementar un contrato de NFT y quiero asegurarme de que solo el propietario legítimo del NFT pueda transferirlo. Tengo esta función para transferir:

public fun transfer(
    nft: DevNetNFT, recipient: address, _: &mut TxContext
) {
    transfer::public_transfer(nft, recipient)
}

¿Esta comprobación se realiza dentro del public_transfermétodo o tengo que añadir lógica adicional?

  • Move CLI
0
3
Cuota
Comentarios
.

Respuestas

3
kryptoschain.
Apr 7 2025, 20:34

Para aclarar más, no es específicamente el public_transferque comprueba la propiedad, sino la semántica de las transacciones de Sui. Para que una transacción acepte un objeto como entrada, debes tener la propiedad, lo que significa que la dirección del remitente debe coincidir con la dirección del propietario del objeto. Sin embargo, los objetos compartidos tratan a todos como «propietarios» a los efectos de las transacciones.

0
Comentarios
.
deriss.
Apr 7 2025, 20:36

CheckWitheGor Antes de transferir una NFT, la public_transferfunción comprueba si el remitente tiene la NFT. public_transferPor lo tanto, la lógica está integrada en el método.

0
Comentarios
.
DuAn.
Apr 7 2025, 21:52

En realidad, no necesita esta función, ya que puede llamar directamente desde tx.transferObjectsun PTB.

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.

148Publicaciones231Respuestas
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.

Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información