Composabilité atomique
Les programmes s'appellent entre eux par des cross-program invocations 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 : un swap, un remboursement de prêt et une mise à jour d'oracle peuvent donc s'exécuter dans une seule transaction atomique. Partez d'une application Anchor fonctionnelle, intégrez de 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 par des cross-program invocations 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 écrit. Le runtime exécute en parallèle les transactions qui ne touchent pas les mêmes comptes modifiables : un marché très actif ne bloque donc pas les marchés sans rapport.
Les transactions qui écrivent sur un compte très sollicité se disputent la part du bloc allouée à ce compte. Calculez les frais de priorité à partir des comptes sur lesquels vous écrivez, et non à partir de 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
La voie 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. Privilégiez Pinocchio, une bibliothèque sans dépendance, pour 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 les comptes du mainnet à la demande, afin de tester avec de vrais pools et oracles.
03Générer les clients
Générez des clients TypeScript et Rust typés à partir de l'IDL de votre programme, afin 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 de référence. Son plugin de wallet détecte les wallets installés via Wallet Standard, sans paquets d'adaptateurs propres à chaque wallet.
Briques de base
Ces protocoles publient une documentation destinée aux développeurs pour leurs programmes et leurs API. Lisez la documentation et les rapports d'audit de chaque protocole avant d'y faire transiter les fonds de vos utilisateurs.
Routez des swaps sur la liquidité de Solana grâce à une API d'agrégateur, ou demandez les instructions brutes pour composer un swap dans votre propre transaction.
Créez des pools, fournissez de la liquidité concentrée et obtenez des cotations directement auprès des AMM on-chain.
Déposez des garanties, empruntez et lisez l'état des réserves grâce aux SDK des marchés de prêt.
Ouvrez, gérez et liquidez des positions à effet de levier, ou concevez votre propre marché de contrats perpétuels entièrement on-chain.
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 jetons de staking liquide comme garantie, ou dirigez des SOL vers des pools de staking qui génèrent des récompenses de validators.
Effectuez vos règlements en stablecoins adossés à des monnaies fiat et émis nativement sur Solana.
Déplacez des USDC nativement avec le CCTP de Circle, ou transférez d'autres actifs et messages entre chaînes via un bridge.
Émettez des actifs dotés de comportements intégrés que votre protocole doit gérer : transfer hooks, soldes générant des intérêts, montants d'interface mis à l'échelle et transferts confidentiels.
À titre d'exemple uniquement. La mention d'un protocole ne constitue pas une recommandation de la Fondation Solana.
Livraison des transactions
Le trafic DeFi culmine en période de volatilité, précisément quand les utilisateurs ont besoin que leurs transactions passent. Intégrez ces mécanismes à votre client avant le mainnet.
Simulez pour mesurer les unités de calcul, fixez une limite serrée et calculez les frais de priorité à partir des 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 comporte un compromis pour les routes complexes.
La QoS pondérée par le stake réserve de la capacité au leader pour les transactions transmises par des validators stakés. Choisissez un fournisseur RPC qui la prend en charge.
Envoyez 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 passe 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 son comportement.
Confiez les autorités de mise à niveau et d'administration du programme à un multisig Squads, avec un verrouillage 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.