Développement de smart contracts sur mesure en Corse
Le développement de smart contracts consiste à traduire des règles convenues entre plusieurs parties en un programme qui s'exécute automatiquement sur une blockchain. Studio de développement basé à Bastia, nous concevons, testons et déployons des contrats lisibles et documentés, après avoir vérifié avec vous que la blockchain est bien le bon outil pour votre projet.
Qu'est-ce qu'un smart contract ?
Un smart contract, ou contrat intelligent, est un programme enregistré sur une blockchain qui exécute automatiquement des règles définies à l'avance : si telle condition est remplie, alors telle action a lieu. Une fois déployé, son code est consultable par tous et personne ne peut le modifier en secret, pas même son auteur.
La plupart des smart contracts professionnels sont écrits en Solidity, un langage conçu pour l'EVM, la machine virtuelle Ethereum, c'est-à-dire le moteur d'exécution commun à Ethereum et à de nombreux réseaux compatibles. Ce choix laisse une grande liberté sur le réseau à utiliser.
Le mot contrat peut prêter à confusion : un smart contract n'est pas un contrat au sens juridique. Il applique mécaniquement des règles techniques ; l'accord entre les parties reste à formaliser par écrit.
Quand un smart contract est-il pertinent ?
Un smart contract apporte de la valeur quand plusieurs de ces conditions sont réunies. Dans le cas contraire, une application classique sera plus simple et plus économique.
- 01
Plusieurs acteurs, sans tiers de confiance
Des partenaires doivent partager des règles et des informations sans qu'aucun d'eux ne contrôle seul le système.
- 02
Des règles stables et précises
Les conditions peuvent s'écrire clairement à l'avance et ne changent pas tous les mois.
- 03
Un besoin de vérification publique
Clients, partenaires ou autorités doivent pouvoir vérifier eux-mêmes ce qui a été inscrit, et quand.
- 04
Une trace qui doit durer
La preuve doit rester consultable longtemps, indépendamment de l'entreprise qui l'a créée.
Exemples de smart contracts par secteur
- 01
Filières agricoles et agroalimentaires
Enregistrer chaque étape d'un lot, de la récolte au conditionnement, avec des droits d'écriture réservés aux acteurs habilités.
- 02
Formation et certification
Émettre des attestations vérifiables, avec la possibilité de révoquer un document délivré par erreur.
- 03
Collectivités
Publier l'empreinte numérique de documents officiels pour en prouver la date et l'intégrité.
- 04
Logistique et partenariats
Valider des étapes partagées entre plusieurs entreprises, comme une livraison ou une réception, avec un historique commun.
- 05
Startups
Construire la partie blockchain d'un produit numérique, intégrée à une application web ou mobile.
Travailler avec un développeur blockchain : les étapes du projet
Nous travaillons depuis la Haute-Corse avec des clients en Corse et au-delà, avec un interlocuteur unique du premier échange à la mise en service.
- 01
Comprendre
Nous décrivons ensemble les acteurs, les règles, les cas limites et ce qui doit se passer en cas d'erreur, puis nous rédigeons une spécification en langage clair.
- 02
Concevoir
Choix du réseau, de ce qui sera inscrit sur la chaîne, des rôles d'administration et de la possibilité, ou non, de faire évoluer le contrat.
- 03
Développer et tester
Écriture du code en Solidity et tests automatisés couvrant les cas normaux, les erreurs et les tentatives d'usage abusif.
- 04
Valider
Déploiement sur un réseau de test, où rien n'a de valeur réelle, pour que vous puissiez essayer le fonctionnement complet, puis audit du code.
- 05
Déployer
Déploiement du smart contract sur le réseau principal, publication du code source vérifié, remise des accès et de la documentation.
Livrables et suivi après le déploiement
- 01
Le code source
Commenté, versionné et accompagné de ses tests automatisés. Il vous appartient.
- 02
La documentation
Les règles du contrat en langage clair, son architecture, ses rôles et la marche à suivre pour les opérations d'administration.
- 03
Les scripts de déploiement
Pour reproduire le déploiement à l'identique, sur un réseau de test ou sur un autre réseau compatible.
- 04
L'intégration
La connexion du contrat à votre site ou à votre application, pour que vos utilisateurs n'aient aucun outil technique à manipuler.
- 05
Le suivi
Après la mise en service, nous pouvons surveiller l'activité du contrat, vous assister dans les opérations d'administration et préparer les évolutions.
Ce qu'il faut vérifier avant un déploiement de smart contract
- 01
L'immuabilité
Un contrat déployé ne se corrige pas comme un site web. Prévoir ou non un mécanisme d'évolution est une décision de conception, avec ses avantages et ses risques.
- 02
Les clés d'administration
Les clés privées, ces codes secrets qui autorisent les opérations sensibles, doivent être conservées avec le plus grand soin, de préférence par vous et sous le contrôle de plusieurs personnes.
- 03
Les frais de réseau
Chaque opération sur une blockchain publique a un coût variable ; un code optimisé et une bonne architecture permettent de le réduire.
- 04
Les dépendances
Bibliothèques, oracles, c'est-à-dire les services qui apportent des données extérieures à la blockchain, et autres contrats appelés : chacun est un point de fragilité à évaluer.
- 05
Le cadre juridique
Si le projet implique des jetons, il peut relever du règlement européen MiCA : un avis juridique est indispensable avant de commencer.
Ce qui détermine le coût d'un développement de smart contracts
Chaque projet fait l'objet d'un devis clair après un premier échange. Le budget dépend surtout des éléments suivants.
- 01
La complexité des règles
Le nombre de cas à prévoir, de rôles et d'interactions entre contrats.
- 02
Le choix du réseau
Public ou privé, avec des exigences de tests et d'optimisation différentes.
- 03
L'évolutivité
Un contrat évolutif demande une architecture et des tests supplémentaires.
- 04
L'intégration
Interface utilisateur, connexion à vos logiciels, outils d'administration.
- 05
Le niveau d'audit
Relecture interne ou audit approfondi, selon les enjeux du contrat.
Technologies et méthodes
- Solidity
- EVM
- Tests automatisés
- Réseaux de test
- Vérification du code source
- TypeScript
Questions fréquentes
Quelle blockchain choisir pour mon projet ?
Cela dépend de qui doit lire et écrire les données, du volume d'opérations et de la durée de vie de la preuve. Nous comparons avec vous les options, publiques ou privées, et nous recommandons la plus simple qui réponde au besoin.
Peut-on modifier un smart contract après son déploiement ?
Le code déployé ne change pas. On peut en revanche prévoir dès la conception un mécanisme d'évolution, ou déployer une nouvelle version et y faire migrer les usages. Chaque option a des conséquences sur la confiance et la sécurité, que nous vous expliquons avant de choisir.
Qui détient les clés du contrat ?
Vous. Nous vous aidons à mettre en place une conservation sûre des clés d'administration, par exemple avec une validation à plusieurs personnes, et nous documentons les procédures.
Combien coûte l'utilisation d'un smart contract au quotidien ?
Sur un réseau public, chaque opération entraîne des frais qui varient selon le réseau, la complexité de l'opération et l'affluence du moment. Nous les estimons pendant la conception et optimisons le code pour les limiter.
Faut-il faire auditer un contrat que vous avez développé ?
Nous testons et relisons systématiquement notre code. Pour un contrat à fort enjeu, un audit complémentaire par un regard extérieur reste une bonne pratique, et nous facilitons son déroulement.