Perguntas e respostas

Melhores práticas de autorização Solana/Anchor para um sistema modular multiprograma (funções compartilhadas entre programas, CPI)

Tamanho do texto

Repo parece ser privado: Qualquer uma das opções tem seus prós e contras, então você pode criar uma implementação híbrida para mitigar. Aqui estão alguns dos aplicativos multiprogramas que você pode adotar:

Marinade Finance: usa programa de núcleo único + programas de satélite para domínios específicos. Você pode verificar como eles lidam com autoridade administrativa versus autoridade operacional (o programa principal tem um multisig do conselho como administrador, mas um PDA para operações de retirada de participação). Além disso, o programa de referência é um invólucro que faz o CPI no programa principal

Marginfi: usa isolamento baseado em grupo com programa compartilhado

Ellipsis Labs: usa programa principal + programas auxiliares que fazem CPI no núcleo. O Phoenix-v1 é a carteira de pedidos principal, enquanto o gerente de assentos e o formador de mercado programam o CPI nele

Armadilhas comuns:

Confiar cegamente no ID do programa invocador - Só porque um CPI veio do Programa X não significa que o Programa X verificou o usuário. Sempre verifique novamente os signatários relevantes. Esquecendo que os PDAs não persistem o status de signatário nas instruções - Um PDA que assinou na instrução 1 não é automaticamente um signatário na instrução 2, a menos que você faça CPI com invoque_signado novamente. Autoridade de atualização centralizada — Se todos os programas compartilham uma autoridade de atualização, sua modularidade éilusório. Considere multisigs.

Continue explorandoCatálogo de dadosPesquisar