Repo는 비공개인 것 같습니다. 모든 옵션에는 장단점이 있으므로 하이브리드 구현을 만들어 완화할 수 있습니다. 다음은 채택할 수 있는 다중 프로그램 애플리케이션 중 일부입니다.
마리네이드 파이낸스(Marinade Finance): 특정 도메인에 대해 단일 코어 프로그램 + 위성 프로그램을 사용합니다. 관리 권한과 운영 권한을 어떻게 처리하는지 확인할 수 있습니다(핵심 프로그램에는 관리자로서 협의회 다중 서명이 있지만 지분 철회 작업을 위한 PDA가 있습니다). 또한 추천 프로그램은 CPI를 기본 프로그램에 추가하는 래퍼입니다.
Marginfi: 공유 프로그램과 함께 그룹 기반 격리를 사용합니다.
Ellipsis Labs: CPI를 핵심으로 하는 핵심 프로그램 + 보조 프로그램을 사용합니다. phoenix-v1은 핵심 주문서이며 좌석 관리자와 시장 제작자는 CPI를 여기에 프로그래밍합니다.
일반적인 함정:
맹목적으로 호출자 프로그램 ID 신뢰 - CPI가 프로그램 X에서 왔다고 해서 프로그램 X가 사용자를 확인했다는 의미는 아닙니다. 항상 관련 서명자를 다시 확인하십시오. PDA가 명령어 전반에 걸쳐 서명자 상태를 유지하지 않는다는 사실을 잊음 — 명령어 1에 로그인한 PDA는 다시 Invoke_signed를 사용하여 CPI를 실행하지 않는 한 명령어 2의 서명자가 자동으로 되지 않습니다. 중앙 집중식 업그레이드 권한 — 모든 프로그램이 업그레이드 권한을 공유하는 경우 모듈성은 다음과 같습니다.환상적이다. 다중 서명을 고려해보세요.