Navire 0.2.0 - Interagir avec Steem en toute sécurité depuis n'importe quel site Web
Je suis incroyablement excité aujourd'hui de sortir la prochaine version de Vessel - qui propose une toute nouvelle façon d'interagir avec la blockchain Steem de n'importe où sur Internet. J'espère que cet effort aidera à débloquer le potentiel de la blockchain de Steem en donnant aux développeurs et aux créateurs de contenu les outils nécessaires pour interagir avec leurs audiences n'importe où.
Un peu d'arrière-plan sur Vessel avant d'aller trop loin:
Qu'est-ce que Vessel?
Vessel est un portefeuille de bureau pour la blockchain Steem, qui peut être téléchargé et exécuté sur votre ordinateur. Vessel est libre d'utiliser et open source, et est conçu pour être un moyen d'aider à sécuriser votre compte. Lorsque vous utilisez Vessel, vos clés / mot de passe ne quittent jamais l'application, les transactions sont signées localement, puis diffusées à la blockchain comme n'importe quel autre portefeuille de crypto-monnaie téléchargeable.
Avec Vessel, vous n'avez plus besoin de faire confiance à votre navigateur Web lorsque vous effectuez des actions sécurisées avec votre compte.
Télécharger le navire
Vessel est encore un logiciel bêta et il est recommandé de le traiter comme tel. Avant de commettre des actions irréversibles sur votre compte (par exemple, de gros transferts sortants), veuillez effectuer des tests avec des quantités plus petites pour vous assurer que tout fonctionne correctement et que vous comprenez vos actions. Si vous envoyez tout votre SBD à quelqu'un, il n'y a pas d'inversion.
Téléchargement disponible sur github pour macOS, Windows et Linux.
Communiqués: https://github.com/aaroncox/vessel/releases
Forums chainBB: https://chainbb.com/f/vessel
Rapports de bug: https://github.com/aaroncox/vessel/issues
Code source: https://github.com/aaroncox/vessel
Quoi de neuf dans 0.2.0
Une seule fonctionnalité, utilisable à l'infini:
Création d'opération via un schéma URI
C'est probablement du charabia à 99% d'entre vous - alors je vais essayer d'expliquer ce qu'est un schéma URI, puis donner quelques exemples de la façon dont nous pouvons l'utiliser.
Avez-vous déjà cliqué sur un lien qui a ouvert votre client de messagerie? Ces types de liens sont utilisés partout: sur les pages de contact, dans les signatures de courrier électronique, ou partout où vous voulez que quelqu'un puisse vous contacter (une manière d'interagir). Ces liens sont un type spécial de lien qui utilise un schéma URI (le schéma mailto: // dans ce cas) qui permet à votre navigateur Web d'interagir avec votre client de messagerie par défaut.
C'est l'objectif d'un système URI: lancer une application sous votre contrôle pour interagir avec le contenu d'un site Web.
Cette nouvelle version de Vessel implémente cette même idée et introduit une première ébauche du schéma steem: // - sauf qu'au lieu d'ouvrir votre client de messagerie, ce schéma ouvre Vessel (ou toute autre application Steem future). Cela va bien au-delà de l'ouverture de Vessel - il peut inciter l'utilisateur à interagir avec la blockchain d'une manière spécifique.
Regardons quelques exemples - mais d'abord, vous devriez avoir Vessel 0.2.0 installé pour cela. Vous pouvez le télécharger ici. Si vous avez des problèmes de confidentialité / sécurité / confiance avec Vessel, je vous recommande d'importer une clé de comptabilisation de l'un de vos comptes.
Prêt? Ce post vient d'être interactif.
Exemple # 1 - Vote sur un poste
En utilisant le schéma steem: //, n'importe qui peut créer des liens qui interagissent réellement avec la blockchain Steem:
Bouton Vote (ou affichage dans opbuilder)
Ce lien a été créé spécifiquement pour inciter à voter sur un post que j'ai écrit plus tôt cette semaine sur opbuilder (un outil de développement pour supporter ce schéma d'URI). Lorsque vous cliquez dessus, Vessel lancera une petite fenêtre pour confirmer l'action et donnera parfois des valeurs à modifier (le pourcentage dans ce cas).
Lorsque la fenêtre apparaît - rien ne se passe immédiatement. Vous devez choisir de procéder à la transaction en sélectionnant le compte que vous souhaitez utiliser et en cliquant sur le bouton en bas. Si vous avez un mot de passe de portefeuille, vous serez également invité à le faire.
Lorsque vous êtes prêt à confirmer le vote, appuyez sur le bouton en bas pour signer la transaction et la diffuser à la chaîne de blocs - sans que vos clés ne quittent votre portefeuille ou ne soient partagées avec qui que ce soit. La fenêtre se ferme et vous pouvez continuer à faire ce que vous faisiez.
Le vote était probablement l'un des exemples les plus simples que je pouvais fournir - alors passons à d'autres exemples.
Exemple # 2 - Vote pour témoin
Beaucoup de gens tapent le bas de leurs messages avec des signatures liées à la campagne des témoins de l'auteur, sollicitant des votes. En utilisant le schéma URI et Vessel, vous pouvez maintenant faire des choses comme ceci:
Votez @jesta en tant que témoin (en utilisant Vessel) (voir dans opbuilder)
Ce lien va lancer un vote pour moi en tant que témoin. Le navire va lancer et afficher un formulaire qui vous permet de sélectionner votre compte, puis de diffuser le vote des témoins. Plus besoin de fournir des instructions étape par étape, un créateur de contenu ou de site Web peut créer des opérations pour encourager les autres utilisateurs à effectuer des opérations.
Exemple # 3 - Demander une délégation
Cet exemple pourrait être utile à des services comme Utopian, où vous pouvez déléguer à leur compte afin de soutenir les efforts de sa communauté. Au lieu d'écrire un post fournissant des instructions sur ce qu'il faut faire - vous pouvez maintenant simplement simplement fournir un lien.
Voici un exemple de lien qui initie une délégation de votre part vers @ utopian-io, et vous invite à sélectionner un compte et à entrer la quantité de SP (ou VESTS).
Déléguez SP à @ utopian-io (via Vessel) (voir dans opbuilder)
Exemple # 4 - Formulaire de don
Le navire prend également en charge de nombreux paramètres qui vous permettent de personnaliser légèrement les opérations pour répondre à des besoins particuliers. Si j'écrivais un post demandant des dons pour soutenir le développement de Vessel, je pourrais le faire avec un lien:
Faire un don pour soutenir Vessel (avec Vessel) (opbuilder)
Ce lien initie un transfert et personnalise également l'affichage un peu.
Le champ "amount" a une étiquette personnalisée de "Donation" et un sélecteur d'entrée spécial leur permettant de choisir la quantité de STEEM ou de SBD à envoyer.
Le champ "montant" a un montant suggéré que les utilisateurs peuvent changer.
Le champ "mémo" sur le transfert a une étiquette personnalisée, invitant l'utilisateur à un message avec leur don.
Tout ce que l'utilisateur doit faire est de choisir un montant, décider s'il veut inclure un message, choisir le compte à utiliser et appuyer sur le bouton en bas. Il pourrait être encore plus simple d'utiliser plusieurs liens avec des dénominations pré-remplies individuelles.
Indépendamment de la façon dont il est personnalisé, vous serez toujours en mesure de développer et d'afficher les opérations JSON brutes pour voir exactement ce qui se passe sous le capot.
Les exemples pourraient continuer encore et encore ...
Les possibilités pour cela sont infinies. Tout ce qui peut être fait sur Steem peut aussi théoriquement être fait en utilisant cette méthode.
J'ai construit cela spécifiquement parce que j'avais besoin d'un moyen sécurisé d'interagir avec les propriétaires du forum sur chainBB. Je ne veux vraiment pas encourager les utilisateurs à entrer leur mot de passe principal / les clés actives sur mon site Web - et je veux quelque chose de plus sécurisé qu'un utilisateur connecté avec une clé d'envoi.
Au lieu de simplement construire quelque chose spécifiquement pour chainBB - je choisis de construire un système assez robuste dans Vessel pour permettre à n'importe quel projet les moyens d'interagir en toute sécurité avec leur public, sans avoir à se confier des informations sensibles les uns avec les autres.
La prochaine version de chainBB permettra aux propriétaires de forum de configurer les équipes de modération, les bénéficiaires et d'autres options plus sensibles à la sécurité directement via Vessel.
À quoi cela servira-t-il dans le futur?
Ce que cela signifie pour les sites tiers et leur capacité à utiliser Steem
La chose importante à réaliser est que n'importe qui peut utiliser ces liens sur n'importe quel site Web ou application qui prend en charge HTML personnalisé. Si vous deviez copier et coller l'un des exemples ci-dessus sur votre blog Wordpress ou dans un post de reddit, ils fonctionneraient simplement.
Cela permet aux sites Web tiers d'intégrer rapidement et de manière transparente les fonctionnalités de Steem (et des SMT à venir) dans leurs propres sites Web, services et communautés.
Pour aider à cela, je travaille sur ce que j'appelle opbuilder, un outil qui peut créer des opérations et ensuite fournir le JSON, un lien steem: // URI ou un lien SteemConnect. Tous les exemples de liens ci-dessus ont été créés à l'aide de l'opbuilder (puis exécutés via un raccourcisseur d'URL, plus de détails ci-dessous).
Travail en cours
Là
Le vaisseau utilise l'opération JSON en tant que modèle pour créer une opération initiale, puis l'application JSON pour améliorer l'interface utilisateur afin d'inviter les utilisateurs à interagir avec le modèle d'opération.
Bogues
C'est la première version de la série 0.2.x de Vessel et certaines de ces nouvelles actions vont avoir des problèmes. Les problèmes de transaction qui surviennent lors de la diffusion apparaissent dans une zone rouge au-dessus du bouton "Sign + Broadcast".
Actuellement, il y a des bugs connus avec:
Signer tout ce qui nécessite des auths (comme custom_json).
JSON encodant certains champs.
Aucune interface pour éditer / modéliser plusieurs opérations.
Signer une transaction en utilisant account_auths - vous avez besoin de la clé pour le moment.
Tout au long de la série de versions 0.2.x, je vais m'améliorer et les aborder en ce qui concerne les projets qui commencent à intégrer ces fonctionnalités. Ma première intégration sera personnellement avec chainBB, donc l'opération custom_json est susceptible d'être améliorée dans 0.2.1. J'inviterais d'autres développeurs à se joindre à l'effort et à l'améliorer là où ils en ont besoin.
Si vous avez un bug à signaler, veuillez le déposer sur github. Bugs seulement cependant, comme pour la discussion ...
Des questions? Voulez-vous parler de l'utilisation de cela?
https://chainbb.com/f/vessel
Je surveille le forum ci-dessus / f /, un forum chainBB, pour discuter de Vessel. Si vous avez des questions / commentaires / préoccupations / quoi que ce soit, je vous invite à vous joindre à la conversation là-bas. chainBB est un forum de discussion (et un de mes autres projets) donc je vais vous faire glisser tous là pour l'utiliser :)
Support de steemit.com pour le programme steem: // URI
Au moment de ce post - steemit.com filtre les liens qui utilisent le schéma steem: // et autorise seulement http: // ou https: //. J'ai créé une demande de traction sur steemit / condenseur qui modifie les désinfectants pour permettre ces liens spéciaux et j'attends des commentaires. Espérons que cette demande d'extraction sera acceptée et déployée sur steemit.com pour permettre à tout le monde d'utiliser ces liens.
chainBB.com a déjà été patché pour permettre le support pour cela.
En attendant, @netuoso a recommandé une solution de contournement que ce post utilise pour autoriser l'utilisation de ces liens spéciaux. Il suffit d'utiliser un raccourcisseur d'URL comme tinyurl.com pour convertir les liens steem: // en https: // avant de les poster. Ils redirigent vers le protocole approprié et permettent à ces liens de fonctionner dans un post sur steemit.com.
C'est un peu pénible d'avoir à sauter à travers un cerceau supplémentaire - mais au moins, il est immédiatement fonctionnel.
Navire en 2018
J'ai beaucoup d'objectifs pour Vessel en 2018, voici un aperçu de haut niveau:
Rebranding complet avec un nouveau nom. Autant que je déteste l'idée, et aime le nom Vessel, il y a en fait une entreprise qui fabrique des portefeuilles physiques nommés Vessel. Je n'avais aucune idée jusqu'à très récemment. Au lieu de rivaliser avec eux sur les moteurs de recherche et potentiellement sur les marques, il sera plus facile de simplement renommer le projet et de le renommer. J'ai eu des idées amusantes, mais je n'ai aucune idée de ce que le nouveau nom sera ou comment il sera rebaptisé.
Produit non-bêta: Avec le rebrand, mon objectif est d'avoir un produit non-beta publié en 2018 de ce portefeuille. Cela peut également inclure une réécriture du cœur du portefeuille pour permettre une meilleure gestion de la sécurité et du compte.
Plus de développement communautaire: je ne veux pas que ce soit un projet @jesta, je veux que ce soit un effort communautaire. À cette fin, j'essaierai de travailler avec n'importe quel développeur intéressé à améliorer ce projet. @netuoso a été d'une grande aide, et à mesure que de plus en plus de développeurs se joindront à l'effort, nous serons en mesure de publier du code de qualité supérieure plus régulièrement.
Ces fonctionnalités et bien d'autres seront développées dans le temps. En tant que projet gratuit / non générateur de revenus, Vessel n'a pas de développeurs à temps plein et tout le développement est fait par des bénévoles. Les fonctionnalités sont créées au fur et à mesure que le temps libre devient disponible et / ou qu'un produit générant des revenus crée une demande pour celui-ci.
Merci à tous ceux qui ont donné un coup de feu en 2017 et l'ont soutenu d'une manière ou d'une autre!