Publicación
Comparte tu conocimiento.
How can I implement whitelist access in sui move?
I'm trying to set up access control in Sui Move similar to how it's done in Ethereum Solidity. In Solidity, a contract ensures that only whitelisted addresses can call certain functions. You set up a whitelist and check against msg.sender during cross-contract interactions. How can I achieve similar functionality in Sui Move with package-to-package access control?
- Move CLI
Respuestas
2En Sui Move, puedes lograr un control de acceso similar acuñando un objeto «WhiteListCap» para las entidades que deberían tener acceso. Así es como funciona:
- Defina una estructura
WhiteListCap
que incluya un campo UID. - Cree un «AdminCap» que sea necesario para acuñar nuevas entradas en la lista blanca.
- El administrador puede llamar a una función para generar una
WhiteListCap
y transferirla a una dirección específica. - Las llamadas a funciones que deberían restringirse pueden requerir un
WhiteListCap
parámetro para garantizar que solo las entidades incluidas en la lista blanca puedan ejecutarlas.
WhiteListCap
Sin embargo, revocar el acceso en Sui Move puede resultar complicado, ya que el administrador pierde el control sobre lo que ha sido transferido.
Si trabajas con contratos inteligentes o paquetes que pueden necesitar actualizaciones iterativas, ten en cuenta que los paquetes de Sui Move son inmutables. Asegúrate de implementar patrones de código fáciles de actualizar, como administrar los permisos a nivel de objeto en lugar de a nivel de paquete, y considera la posibilidad de usar controles de acceso basados en versiones.
Sabes la respuesta?
Inicie sesión y compártalo.