Preguntas y respuestas

Mejores prácticas de autorización de Solana/Anchor para un sistema modular de múltiples programas (roles compartidos entre programas, CPI)

Tamaño del texto

El repositorio parece ser privado: Cualquiera de las opciones tiene sus pros y sus contras, por lo que puede crear una implementación híbrida para mitigarla. Estas son algunas de las aplicaciones multiprograma que puede adoptar:

Marinade Finance: utiliza un programa de núcleo único + programas satélite para dominios específicos. Puede comprobar cómo manejan la autoridad administrativa frente a la autoridad operativa (el programa principal tiene un consejo multifirma como administrador, pero una PDA para las operaciones de retiro de participación). Además, el programa de referencia es un contenedor que incluye los CPI en el programa principal.

Marginfi: utiliza aislamiento grupal con programa compartido

Ellipsis Labs: utiliza el programa principal + programas auxiliares que integran el CPI al núcleo. El phoenix-v1 es la cartera de pedidos principal, mientras que el administrador de puestos y el creador de mercado programan el IPC en él.

Errores comunes:

Confiar ciegamente en el ID del programa invocador: el hecho de que un CPI provenga del Programa X no significa que el Programa X haya verificado al usuario. Siempre vuelva a verificar los firmantes relevantes. Olvidar que las PDA no mantienen el estado del firmante en todas las instrucciones: una PDA que inició sesión en la instrucción 1 no es automáticamente un firmante en la instrucción 2 a menos que vuelva a realizar CPI con invoke_signed. Autoridad de actualización centralizada: si todos los programas comparten una autoridad de actualización, su modularidad esilusorio. Considere las firmas múltiples.

Seguir explorandoCatálogo de datosBuscar