Publication
Partagez vos connaissances.
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
Réponses
2Dans Sui Move, vous pouvez obtenir un contrôle d'accès similaire en créant un objet « WhiteListCap » pour les entités qui devraient y avoir accès. Voici comment cela fonctionne :
- Définissez une structure
WhiteListCap
qui inclut un champ UID. - Créez un « AdminCap » qui est requis pour créer de nouvelles entrées dans la liste blanche.
- L'administrateur peut appeler une fonction pour générer un
WhiteListCap
et le transférer vers une adresse spécifique. - Les appels de fonctions qui doivent être restreints peuvent nécessiter un
WhiteListCap
paramètre pour garantir que seules les entités figurant sur la liste blanche peuvent les exécuter.
Cependant, la révocation de l'accès dans Sui Move peut être délicate car l'administrateur perd le contrôle de l'accès WhiteListCap
une fois transféré.
Si vous travaillez avec des contrats intelligents ou des packages qui peuvent nécessiter des mises à jour itératives, sachez que les packages Sui Move sont immuables. Assurez-vous de mettre en œuvre des modèles de code adaptés aux mises à niveau, tels que la gestion des autorisations au niveau de l'objet plutôt qu'au niveau du package, et envisagez d'utiliser des contrôles d'accès basés sur les versions.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.