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 tout seul sur une blockchain. Nous sommes un studio de développement basé à Bastia. Nous concevons des contrats lisibles et documentés, nous les testons puis les déployons, après avoir vérifié avec vous que la blockchain est vraiment 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. Il exécute automatiquement des règles fixées à l'avance, du type « si telle condition est remplie, telle action a lieu ». Une fois déployé, son code est lisible par tous. Personne ne peut le modifier en secret, pas même son auteur.
La plupart des smart contracts professionnels sont écrits en Solidity. Ce langage est conçu pour l'EVM, la machine virtuelle Ethereum, autrement dit le moteur d'exécution commun à Ethereum et à beaucoup de réseaux compatibles, ce qui laisse une grande liberté dans le choix du réseau.
Le mot « contrat » prête à 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, lui, doit toujours être formalisé par écrit.
Quand un smart contract est-il pertinent ?
Un smart contract apporte quelque chose quand plusieurs de ces conditions sont réunies. Sinon, une application classique sera plus simple, et moins chère.
- 01
Plusieurs acteurs, sans tiers de confiance
Des partenaires doivent partager des règles et des informations sans qu'aucun ne contrôle seul le système.
- 02
Des règles stables et précises
Les conditions s'écrivent clairement à l'avance. Elles 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 à quelle date.
- 04
Une trace qui doit durer
La preuve doit rester consultable longtemps, sans dépendre 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 jusqu'au conditionnement. Seuls les acteurs habilités ont le droit d'écrire.
- 02
Formation et diplômes
É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, une livraison ou une réception par exemple, 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, étape par étape
Nous travaillons depuis la Haute-Corse avec des clients sur l'île et ailleurs. Vous avez le même interlocuteur du premier échange à la mise en service.
- 01
Comprendre
Ensemble, nous décrivons les acteurs et les règles. Les cas limites aussi, 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 une décision à prendre tôt. Le contrat pourra-t-il évoluer, ou non ?
- 03
Développer et tester
Écriture du code en Solidity, avec des tests automatisés qui couvrent les cas normaux comme les erreurs, sans oublier les tentatives d'abus.
- 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. Ensuite, audit du code.
- 05
Déployer
Déploiement du smart contract sur le réseau principal et publication du code source vérifié. Nous vous remettons les accès avec la documentation.
Livrables et suivi après le déploiement
- 01
Le code source
Commenté, versionné, livré avec ses tests automatisés. Il vous appartient.
- 02
La documentation
Les règles du contrat en langage clair, son architecture et ses rôles. Plus la marche à suivre pour les opérations d'administration.
- 03
Les scripts de déploiement
Pour refaire le déploiement à l'identique, sur un réseau de test ou sur un autre réseau compatible.
- 04
L'intégration
Le contrat est relié à votre site ou à votre application. Vos utilisateurs n'ont aucun outil technique à manipuler.
- 05
Le suivi
Après la mise en service, nous pouvons surveiller l'activité du contrat et vous assister dans les opérations d'administration. Les évolutions se préparent avec vous.
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 sont les codes secrets qui autorisent les opérations sensibles. Elles se conservent avec le plus grand soin, de préférence chez 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, qui varie. Un code optimisé et une bonne architecture le font baisser.
- 04
Les dépendances
Bibliothèques, oracles (ces services qui apportent à la blockchain des données extérieures), autres contrats appelés. Chacun est un point fragile à évaluer.
- 05
Le cadre juridique
Si le projet implique des jetons, il peut relever du règlement européen MiCA. Un avis juridique est alors 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 de ces éléments.
- 01
La complexité des règles
Le nombre de cas à prévoir, de rôles, d'interactions entre contrats.
- 02
Le choix du réseau
Public ou privé. Les exigences de tests et d'optimisation ne sont pas les mêmes.
- 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 ce qui est en jeu.
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, de la durée de vie de la preuve. Nous comparons avec vous les options publiques et privées. Puis 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é, non. 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é, et nous vous les 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, 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 variables. Ils dépendent du réseau et de la complexité de l'opération, mais aussi de l'affluence du moment. Nous les estimons pendant la conception, et nous optimisons le code pour les contenir.
Faut-il faire auditer un contrat que vous avez développé ?
Pour un contrat à fort enjeu, c'est une bonne idée. Nous testons et relisons toujours notre code, mais un regard extérieur en plus reste une bonne pratique, et nous facilitons volontiers ce travail.