Repo nampaknya peribadi: Mana-mana pilihan mempunyai kebaikan dan keburukan masing-masing jadi anda boleh cipta pelaksanaan hibrid untuk mengurangkan risiko, berikut adalah beberapa aplikasi berbilang program yang boleh anda gunakan:
Marinade Finance: menggunakan program teras tunggal + program satelit untuk domain tertentu. Anda boleh semak bagaimana mereka mengendalikan kuasa admin vs kuasa operasi (program teras mempunyai multisig majlis sebagai admin, tetapi PDA untuk operasi pengeluaran stake). Juga, program rujukan adalah pembalut yang melakukan CPI ke dalam program utama
Marginfi: menggunakan pengasingan berasaskan kumpulan dengan program dikongsi
Ellipsis Labs: menggunakan program teras + program bantuan yang melakukan CPI ke dalam teras. phoenix-v1 adalah orderbook teras manakala program pengurus seat dan pembuat pasaran melakukan CPI ke dalamnya
Perangkap Biasa:
Mempercayai ID program pemanggil secara buta — Hanya kerana CPI datang dari Program X tidak bermakna Program X mengesahkan pengguna. Sentiasa semak semula penandatangan yang berkaitan. Terlupa bahawa PDA tidak mengekalkan status penandatangan merentas arahan — PDA yang menandatangani dalam arahan 1 tidak secara automatik menjadi penandatangan dalam arahan 2 melainkan anda melakukan CPI dengan invoke_signed sekali lagi. Kuasa naik taraf berpusat — Jika semua program berkongsi kuasa naik taraf, modulariti anda adalah ilusi. Pertimbangkan multisig.