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 :)
You should make it as an @utopian-io contribution.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you very much @transisto for your support in the french community !
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Harpagon has already published this lib on utopian.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Enfait il l'a déjà fait en anglais car utopian n accepte plus Les publications en français @transisto.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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 ;)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
C'est la meilleure chose à faire ! :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I did post on utopian, but thanks for the advice and the support, appreciate!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Très bon travail !
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Très bon boulot !
(et library = bibliothèque ;) )
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
La librairie est à la bibliothèque ce que le pingouin est au manchot :p
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @harpagon! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @harpagon! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit