Dans un récent article de blog, nous avons présenté un exemple de cas d'utilisation des nouvelles fonctions de script de Liquid : les contrats d'options garantis qui suppriment le besoin de tiers de confiance. Cet article détaillait le cycle de vie des options et les termes couramment utilisés. Si vous souhaitez vous familiariser avec ces termes, nous vous recommandons de commencer par là. Il fournit également de nombreux éléments de contexte et décrit le processus d'émission et de gestion d'un contrat d'option sur Liquid.
"Les contrats d'option sont un type d'instruments financiers dérivés dans lesquels le vendeur d'une option vend le droit (mais pas l'obligation) d'acheter un actif à un prix déterminé jusqu'à un certain moment dans le futur (appelé date d'expiration). Après cette date, si ce droit n'a pas été exercé, le concédant peut récupérer la garantie. Les contrats d'option peuvent être utilisés pour gagner un revenu sur un actif lorsque le détenteur est prêt à le vendre à un prix plus élevé dans le futur, ou comme un moyen pour le détenteur d'une option de s'exposer à un actif tout en risquant un minimum de fonds."
Cet article a pour but de présenter le nouveau client “options” de Liquid. Le client s'exécute localement, se connecte au réseau Liquid, et peut être appelé à partir d'un site web ou d'une application locale en utilisant RPC. Nous avons également publié une nouvelle documentation qui explique comment installer et utiliser le client.
Si vous souhaitez comprendre les détails techniques du fonctionnement de ce client, vous pouvez lire le livre blanc "Non-Custodial Options using Elements", coécrit par Allen Piscitello, Sanket Kanjalkar et Andrew Poelstra.
La version actuelle du client “options” est une preuve de concept et nous ne recommandons pas de l'utiliser en production dans l'immédiat, car il existe certaines limitations. Il fournit tout de même un bon exemple des instruments financiers avancés qu’il est possible de créer sur Liquid.
La documentation décrit comment :
- Installer, exécuter et mettre à jour le nouveau client.
- Connecter le client à un nœud du réseau de test de Elements.
- Utiliser l'interface RPC à l’aide d'une variété de langages de développement.
Le site fournit des exemples d'appel en Python et Node.js et des liens vers des exemples pour d'autres langages, tels que C#, Ruby, Java, Go et Perl. Un exemple de site Web local qui utilise le client est également fourni pour montrer à quel point il est facile de développer sur ce client.
Exemple de site web de contrat d'options montrant les détails du contrat et les actions disponibles.
Le client permet actuellement d'exécuter les actions suivantes par RPC, ce qui permet de gérer le cycle de vie complet d'un contrat d'options :
- Initialiser, financer, annuler, expirer, exercer et régler.
- Lister les contrats créés et importés localement.
- Consulter les informations sur les contrats (actifs, prix d'exercice, etc.).
- Exporter, importer, supprimer un contrat.
Un exemple d'API HTTP a été écrit en Python à l'aide du framework Flask. Elle permet aux développeurs d'accéder au client via des appels HTTP et utilise des données au format JSON pour servir les demandes. L'exemple inclut des modèles d'accès aux données et de tâches planifiées pour les développeurs, leur permettant d’ajouter une logique supplémentaire, de faire persister des données externes et d'intégrer des services externes afin qu'ils soient accessibles depuis un front-end.
Un exemple de site Web est également fourni pour montrer comment l'API ci-dessus peut être utilisée. Le site Web d'exemple est écrit en Python à l'aide du framework Flask, mais tout langage capable d'effectuer des appels d'API HTTP (comme JavaScript) peut également être utilisé pour interagir avec l'API.
Les exemples ont été créés pour démontrer comment le client d'options pourrait servir une application Web mais ne sont pas destinés à être utilisés en production. Ils sont destinés à vous aider à être opérationnel et à comprendre les contrats d'options rendus possible par les conditions de dépenses (covenants) Liquid.
Nous espérons que la documentation et les exemples démontreront à quel point il est facile de commencer à profiter des capacités des contrats intelligents de Liquid.
Nouvelles mises à jour
Nous continuerons à mettre à jour la documentation si de nouvelles fonctionnalités sont ajoutées à ce client. Pour plus d'informations, vous pouvez nous contacter via le canal Telegram des développeurs Liquid ou sur la nouvelle plateforme communautaire Build On L2.