Crypto Tracker
der 10. Februar 2022
Dans cet article nous allons parler de Bitcoin et de crypto-monnaie.
Et de la création du projet Crypto Tracker
.
Cet article n'a pas de vocation à donner des conseils en investissement, faites vos propres recherches.
Le projet est consultable à l'adresse suivante : https://github.com/darkwood-fr/crypto-tracker
Bitcoin
Nous entendons beaucoup parler de Bitcoin. A la base, Bitcoin est une technologie qui permet de résoudre le problème de double transaction
. Bitcoin est pour schématiser un Grand live de compte qui est consultable par n'importe qui. Cependant, pour écrire une nouvelle transaction dans ce Grand livre de compte, elle doit être validée et inscrite dans ce qui est communément appelé un bloc
. La mise en quinconce des blocs les uns après les autres est communément appelé la blockchain
ce qui représente ce Grand livre de compte. Pour valider un nouveau bloc, des mineurs
doivent résoudre un algorithme complexe qui s'appelle preuve de travail
. La blockchain est alors validée par un phénomène de consensus. Il est cependant difficile pour un seul mineur de fausser la blockchain, car il faudrait acquérir au moins plus de la moitié de la puissance des machines du réseau pour altérer le consensus qui a permis de valider le bloc suivant. C'est pour cela que l'on parle de réseau décentralisé, nous avons à disposition un Grand live de compte, en libre d'accès et dont tout le monde peut se fier.
Crypto Tracker
J'ai toujours suivit Bitcoin de loin, car Bitcoin depuis sa création est un écosystème spéculatif dans lequel des personnes ont investit des moyens et de l'argent pour faire vivre cette fameuse Blockchain. Lorsque l'on parle de Bitcoin, on ne parle pas de monnaie, mais de crypto-monnaie. Mais depuis l'arrivée des services autour de cette technologie, les smarts contracts
tel que l'on en entend parler avec Ethereum, ou les projets Web3 qui prônent le déploiement de services décentralisés, alors investir dans ces actifs donne plus de sens. On peut faire un équivalent avec internet qui est devenu un incontournable aujourd'hui, car de nombreux services sont présents aujourd'hui sur la toile alors que ce n'était qu'un simple réseau d'échange textuel pour les militaires dans les années 1980. Bitcoin reste à ce jour un actif spéculatif, car des problématiques comme la preuve de travail en font une technologie nocive pour l'environnement, bien qu'aujourd'hui le réseau évolue pour réduire l'emprunte carbone en introduisant la preuve d'interêt
. Et Bitcoin n'est pas une monnaie validée par les états se qui se traduit que l'achat de bitcoin ou d'une autre crypto monnaie constitue un achat risqué de la même manière que l'on investit de l'argent pour acheter des actions d'une entreprise. Ainsi Bitcoin est soumis à l'imposition dès lors que vous vendez vos crypto-monnaies en argent réel ou que vous achetez des produits ou service de consommation grâce à la crypto monnaie.
C'est la raison pour laquelle, je me suis intéressé à traquer mon investissement en crypto monnaie. Et dans le cas présent, on parle de portefeuille d'actifs numérique. Ce procédé a deux avantages. Le premier est de tenir un état des comptes de toutes les transactions réalisées sur les plateformes d'échanges et donc de connaître la représentation totale de son actif équivalent d'une valeur de monnaie réelle. C'est finalement un peu comme si vous consultez vos comptes en banque, sauf que dans le cas présent, c'est à vous de faire et tenir le report de toutes les transactions. Le deuxième est de remplir sa feuille d'imposition afin de noter les plus ou moins values réalisées lors de la revente des actifs. Et ce dernier point est, au yeux de la loi Française, obligatoire. Il m'est donc quelque part nécéssaire de réaliser ce projet.
La formule pour calculer ses plus ou moine value est la suivante :
prix de cession – (( prix total d’acquisition * prix de cession ) / valeur du portefeuille)
Pour expliquer les termes, le prix de cession est le prix auquel vous avez vendu vos crypto monnaie en argent réel. Le prix total d'acquisition est la valeur total que vous avez investi dans l'achat de vos crypto monnaie. La valeur du portefeuille est la valeur de l'ensemble de vos crypto-monnaie convertie en devise d'argent réel.
Ainsi j'ai crée le projet Crypto Tracker pour suivre mon portefeuille numérique. Cela m'a permis de développer une architecture équivalente, dans les grande lignes, de ce que j'ai connu sur Symfony mais cette fois ci en NodeJs :
- typée grâce à l'utilisation de
Typescript
. - reproduisant le modèle vue contrôleur avec l'utilisation d'une base de donnée grâce à
TypeOrm
. - utilisant un système d'injection de dépendance grâce à
typedi
. - mettant à disposition une Api de type OpenAPI grâce à
tsoa
.
Ce travail m'a permis de découvrir la bibliothèque ccxt
qui se veut uniformiser les plateformes d'échanges, comme par exemple consulter les prix des actifs, voir de développer un bot pour acheter et vendre sa crypto-monnaie à l'aide d'un système d'API proposé par chacune des plateformes. Après avoir étudié tous les formats de chaque plateformes dont je voulais exporter les transactions, et de manière générale, j'ai pu en déduire une modélisation simple de la base de données afin de pouvoir traquer et insérer tous les enregistrements.
Evidement, il existe de nombreux projets similaire au mien. Mais une bonne partie n'est pas disponible en OpenSource et propose des offres payantes. Par ailleurs en vous inscrivant dessus, vous vous exposer à finalement donner vos données sur vos finances personnelles. Et pour les autres projets en OpenSource, ceux ci ne répondent pas forcément à mes besoins et ne se positionnent pas forcément sur toutes les plateformes d'échanges que je souhaite intégrer. Je suis évidement intéressé sur vos différents retours, et cela me permettra de continuer à itérer et améliorer l'existant.