Composabilité atomique
Les programmes s'appellent entre eux via des Cross Program Invocation au sein d'une même transaction. Si une étape échoue, toute la transaction est annulée : une stratégie multi-protocoles ne se règle donc jamais à moitié.
Développeurs DeFi
Chaque programme Solana lit et écrit le même état, si bien qu'un swap, un remboursement de prêt et une mise à jour d'oracle peuvent s'exécuter dans une seule transaction atomique. Partez d'une application Anchor fonctionnelle, intégrez la liquidité en direct et déployez avec des pratiques de production.
npx -y create-solana-dapp@latest -t solana-foundation/templates/kit/nextjs-anchorPourquoi Solana
Les programmes s'appellent entre eux via des Cross Program Invocation au sein d'une même transaction. Si une étape échoue, toute la transaction est annulée : une stratégie multi-protocoles ne se règle donc jamais à moitié.
Chaque transaction déclare à l'avance les comptes qu'elle lit et qu'elle écrit. Le runtime exécute en parallèle les transactions qui ne touchent pas les mêmes comptes inscriptibles, de sorte qu'un marché très actif ne bloque pas les autres.
Les transactions qui écrivent sur un compte très sollicité se disputent la part de bloc de ce compte. Fixez les frais de priorité d'après les comptes sur lesquels vous écrivez, et non d'après des moyennes à l'échelle du réseau.
Les temps de slot du mainnet sont réduits par étapes, et Alpenglow remplacera le protocole actuel de vote et de finalité. Suivez les deux avant d'ajuster l'expiration des cotations, les délais d'attente et les fenêtres de liquidation.
Stack de développement
Le parcours par défaut pour un nouveau protocole : Anchor pour le programme, LiteSVM et Surfpool pour les tests, Codama pour les clients et Kit pour l'application.
01Écrire le programme
Anchor est le framework recommandé pour la plupart des programmes, avec validation des comptes, génération d'IDL et utilitaires CPI intégrés. Optez pour Pinocchio, une bibliothèque sans dépendance, sur les chemins critiques où chaque unité de calcul compte.
02Le tester
Exécutez des tests rapides en processus avec LiteSVM ou Mollusk. Lancez ensuite des tests d'intégration sur Surfpool, un réseau local qui charge à la demande les comptes du mainnet, afin de tester avec de vrais pools et de vrais oracles.
03Générer les clients
Générez des clients TypeScript et Rust typés à partir de l'IDL de votre programme, pour que les constructeurs d'instructions et les décodeurs de comptes restent synchronisés à chaque déploiement.
04Créer l'application
@solana/kit est le SDK JavaScript standard. Son plugin de portefeuille détecte les portefeuilles installés via Wallet Standard, sans paquets d'adaptateur propres à chaque portefeuille.
Briques de base
Ces protocoles publient une documentation développeur pour leurs programmes et leurs API. Lisez la documentation et les rapports d'audit de chaque protocole avant d'y faire transiter les fonds des utilisateurs.
Routez les swaps à travers la liquidité de Solana grâce à une API d'agrégateur, ou demandez des instructions brutes pour composer un swap dans votre propre transaction.
Créez des pools, fournissez de la liquidité concentrée et obtenez des prix directement auprès des AMM sur la blockchain.
Déposez des garanties, empruntez et lisez l'état des réserves via les SDK des marchés de prêt.
Ouvrez, gérez et liquidez des positions à effet de levier, ou concevez votre propre marché de perpétuels entièrement sur la blockchain.
Intégrez des mises à jour de prix signées dans votre transaction, et vérifiez l'indice de confiance et l'obsolescence avant d'utiliser un prix.
Acceptez des tokens de staking liquide comme garantie, ou acheminez du SOL vers des pools de staking qui perçoivent les récompenses des validators.
Réglez en stablecoins adossés à des monnaies fiduciaires et émis nativement sur Solana.
Déplacez de l'USDC nativement avec le CCTP de Circle, ou faites transiter d'autres actifs et messages d'une chaîne à l'autre via un bridge.
Émettez des actifs dotés de comportements intégrés que votre protocole doit gérer : hooks de transfert, soldes générant des intérêts, montants d'interface mis à l'échelle et transferts confidentiels.
Exemples uniquement. La présence d'un protocole dans cette liste ne constitue pas une recommandation de la Fondation Solana.
Livraison des transactions
Le trafic DeFi atteint son pic pendant les périodes de volatilité, précisément quand les utilisateurs ont besoin que leurs transactions aboutissent. Intégrez ces éléments à votre client avant le mainnet.
Simulez pour mesurer les unités de calcul, fixez une limite serrée et déterminez les frais de priorité d'après les frais récents sur les comptes sur lesquels vous écrivez.
Les transactions v1 relèvent la limite de taille ; les address lookup tables compressent les longues listes de comptes. Chacune implique un compromis pour les routes complexes.
La QoS pondérée par le stake réserve de la capacité du leader aux transactions transmises par des validators stakés. Choisissez un fournisseur RPC qui la prend en charge.
Acheminez les swaps des utilisateurs via une protection contre les attaques sandwich, et appliquez les limites de slippage dans le programme comme dans l'interface.
Suivez l'expiration du blockhash, rediffusez jusqu'à ce que la transaction aboutisse ou expire, et confirmez au niveau d'engagement dont votre logique a besoin.
Sécurité
Un programme DeFi peut détenir les fonds des utilisateurs dès son premier déploiement. Contrôlez qui peut le modifier, prouvez ce qui est déployé et surveillez ce qu'il fait.
Confiez les autorités de mise à niveau et d'administration du programme à un multisig Squads, avec un verrou temporel sur les modifications.
Permettez aux utilisateurs et aux intégrateurs de confirmer que le programme déployé correspond à son code source public.
Faites réaliser des audits indépendants avant le mainnet et lancez un programme de bug bounty. La Fondation Solana finance les évaluations de sécurité STRIDE et des outils gratuits pour les équipes de l'écosystème.
Microscope décode les instructions de votre programme et les propositions Squads dans des tableaux de bord et des alertes auto-hébergés.
Posez des questions techniques, faites relire vos conceptions et trouvez des équipes avec qui construire.