Repo निजी प्रतीत होता है: किसी भी विकल्प के अपने फायदे और नुकसान हैं, इसलिए आप शमन के लिए एक हाइब्रिड कार्यान्वयन बना सकते हैं, यहाँ कुछ मल्टी-प्रोग्राम अनुप्रयोग दिए गए हैं जिन्हें आप अपना सकते हैं:
Marinade Finance: विशिष्ट डोमेन के लिए एकल कोर प्रोग्राम + सैटेलाइट प्रोग्राम का उपयोग करता है। आप देख सकते हैं कि वे एडमिन अथॉरिटी बनाम ऑपरेशनल अथॉरिटी को कैसे संभालते हैं (कोर प्रोग्राम में एडमिन के रूप में एक काउंसिल मल्टीसिग होता है, लेकिन स्टेक विदड्रॉ ऑपरेशन के लिए एक PDA)। साथ ही, रेफरल प्रोग्राम एक रैपर है जो मुख्य प्रोग्राम में CPI करता है
Marginfi: साझा प्रोग्राम के साथ समूह-आधारित आइसोलेशन का उपयोग करता है
Ellipsis Labs: कोर प्रोग्राम + सहायक प्रोग्राम का उपयोग करता है जो कोर में CPI करते हैं। phoenix-v1 कोर ऑर्डरबुक है जबकि सीट मैनेजर और मार्केट मेकर प्रोग्राम इसमें CPI करते हैं
सामान्य गलतियाँ:
इनवोकर प्रोग्राम ID पर आँख बंद करके भरोसा करना — केवल इसलिए कि एक CPI प्रोग्राम X से आया है, इसका मतलब यह नहीं है कि प्रोग्राम X ने उपयोगकर्ता को सत्यापित किया है। हमेशा प्रासंगिक साइनर्स की पुनः जाँच करें। यह भूल जाना कि PDA निर्देशों में साइनर स्थिति बनाए नहीं रखते — एक PDA जिसने निर्देश 1 में हस्ताक्षर किया था, वह स्वचालित रूप से निर्देश 2 में साइनर नहीं होता जब तक कि आप invoke_signed के साथ फिर से CPI न करें। केंद्रीकृत अपग्रेड अथॉरिटी — यदि सभी प्रोग्राम एक ही अपग्रेड अथॉरिटी साझा करते हैं, तो आपकी मॉड्यूलरिटी भ्रामक है। मल्टीसिग पर विचार करें।