EasySteem, la librairie javascript qui va vous simplifier la vie...

in fr •  7 years ago 

Que les développeurs qui ont cherché à savoir comment poster un article sur Steem, comment upvoter ou encore comment calculer le voting power lèvent la main !

Aujourd'hui je tenais à vous présenter une petite librairie javascript open-source que j'ai développé pour faciliter le développement d'applications javascript Steem. Très simplement cette librairie est composée des librairies steemjs et steemconnect et elle implémente les fonctions standards qui permettent d'interagir avec la blockchain Steem. Ces fonctions sont pour la plupart extraites du code open-source de steemit.com et de busy.org

Trop de blabla, je sais vous n'êtes pas là pour ça, développeur que vous êtes, vous voulez du concret, je passe donc maintenant à un court exemple pour vous montrer comment en quelques lignes vous pouvez poster un article sur Steem via cette librairie :

1- ajouter le cdn de la librairie EasySteem à votre projet

<script src="https://cdn.jsdelivr.net/gh/harpagon210/[email protected]/dist/js/easysteem.min.js"></script>

2- instancier la librairie avec quelques paramètre basiques (l'id steemconnect de votre app, le nom de votre app ainsi que la version de cette dernière)

var easysteem = new EasySteem('my.app', 'mySuperApp', '1.0.0')

3- connecter l'utilisateur via steemconnect (choisir le scope de votre app ainsi que l'url de retour qui sera utilisée par steemconnect pour vous renvoyer les données de l'utilisateur)

easysteem.getLoginUrl(['comment'], 'https://my-awesome-website.com/steemconnect/')

4- parser les données renvoyées par steemconnect (jeton d'accès, expiration du jeton et nom d'utilisateur)

easysteem.parseReturnedUrl('https://my-awesome-website.com/steemconnect/?access_token=THISISASECUREDTOKEN&expires_in=604800&username=harpagon)

5- créer et poster l'article sur Steem (un titre, le contenu et la catégorie, rien de plus...)

easysteem.createPost( 'My article title!', '**My article body.**', 'my-article-category')

6- pas de 6, vous avez déjà terminé, et votre app est prête à affronter les steemians :)

La doc

Le code de cette librairie est commenté de manière à utiliser toute la puissance des générateurs de documentation, vous retrouverez donc une documentation auto-générée qui vous donnera les informations sur les paramètres des fonctions ainsi que des exemples d'utilisation pour les fonctions les plus complexes, je vous invite à y jeter un oeil sur mon github : https://harpagon210.github.io/easysteem/EasySteem.html

Quelques mots sur la librairie

  • elle est open-source et le code est dispo sur mon github https://github.com/harpagon210/easysteem
  • elle est développée en javascript ES6
  • documentation propulsée par la magie JSDoc
  • toute les fonctions qui font des appels API renvoient des promesses (Promise), adieu les callbacks !
  • l'API steemconnect est disponible via easysteem.steemconnectapi
  • l'API steem est disponible via easysteem.steem.api
  • vous pouvez retrouver toutes les fonctions dispos sur la doc https://harpagon210.github.io/easysteem/index.html mais en voici un bref sommaire :
    • downvoter
    • upvoter
    • créer /mettre à jour /supprimer un article
    • créer /mettre à jour /supprimer un commentaire
    • suivre / arrêter de suivre un utilisateur
    • reblogger
    • calculer le voting power disponible
    • calculer la valeur d'un vote
    • récupérer la liste des followers / following
    • connexion / déconnexion via steemconnect

suggestions / remarques pour améliorer cet outils ?

Si vous avez des idées d'améliorations n'hésitez pas à m'en faire part ou à faire des pull request sur github (on m'a déjà demandé d'ajouter le calcul de la bande passante ainsi que a réputation), c'est avant tout un outils pour la communauté.

Sur ce, merci pour votre attention et longue vie au développement d'app sur Steem :)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

You should make it as an @utopian-io contribution.

Thank you very much @transisto for your support in the french community !

Harpagon has already published this lib on utopian.

  ·  7 years ago (edited)

Enfait il l'a déjà fait en anglais car utopian n accepte plus Les publications en français @transisto.

effectivement je publie d'abord en anglais sur utopian de manière assez formelle puis je fais ensuite un article un peu plus personnalisé en français ;)

C'est la meilleure chose à faire ! :)

I did post on utopian, but thanks for the advice and the support, appreciate!

Très bon travail !

Très bon boulot !
(et library = bibliothèque ;) )

merci, oui effectivement, "ce n'est pas une traduction parfaite) mais bon, pour le coup dans le langage développeur on utilise à tord librairie pour parler d'une library :P

La librairie est à la bibliothèque ce que le pingouin est au manchot :p

Congratulations @harpagon! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Congratulations @harpagon! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the total payout received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!