[Traduction] Mise à jour : Communautés/Hivemind

in #qc6 years ago

Voici la traduction d'un article du @steemitblog : Update: Communities/Hivemind

Les communautés et la technologie de "ruches" sont des étapes importantes dans le développement de la blockchain Steem. Celles-ci préparent notamment le terrain pour les Smart Media Tokens

De grosses mise-à-jours très importantes sont en chemin sur Steem. Préparez-vous à voir notre blockchain préférée passer à de nouveaux niveaux :)


Bonjour les Steemians ! C'est @roadscape, membre de Team Steemit, et développeur derrière hivemind - le service backend qui introduira bientôt la prochaine génération d'API et de communautés pour Steem. Maintenant qu'il est presque terminé, j'aimerais partager un peu d'information sur la façon dont il fonctionne et ce qu'il fera.

Plus que des communautés

Hivemind (ou "ruche") alimentera les Communautés sur Steem, mais ce n'est qu'un cas d'utilisation important. Il est conçu pour être une couche conviviale pour les développeurs sur la blockchain Steem qui permettra à tout développeur d'accéder à une base de données contenant toutes les informations sociales stockées sur la blockchain Steem sans avoir à s'appuyer sur des API de base minimalistes. Comme pour tous les logiciels que nous publions, la ruche est entièrement open source. Notre objectif est que tous les développeurs d'applications alimentées par Steem veuillent tirer profit de la ruche, de sorte qu'une expérience utilisateur cohérente puisse être maintenue dans l'écosystème croissant des applications Steem.

La ruche est conviviale pour les développeurs

Actuellement, la plupart des applications propulsée par Steem s'appuient exclusivement sur les nœuds complets steemd comme backend pour les informations telles que les listes de tendances, les informations de profil de compte, les scores de réputation, les commentaires, les abonnés, et ainsi de suite. Ce modèle a certaines forces qui nous ont permis d'aller bien loin, mais les développeurs l'ont dépassé et ont besoin d'une solution plus puissante. S'appuyer sur les nœuds steemd empêche les développeurs frontend d'itérer rapidement, car (1) toutes les API sont écrites en C++, et (2) tout changement de code doit passer par un processus de révision rigoureux parce qu'ils sont proches de la couche de consensus critique. Ainsi, il est assez clair que les préoccupations des développeurs d'applications (flexibilité/simplicité) et celles des développeurs de la blockchain (sécurité/stabilité) doivent être séparées.

La plupart des informations que les développeurs d'applications veulent exploiter ne font pas l'objet d'un consensus critique, c'est-à-dire qu'elles n'appartiennent pas à un nœud de la blockchain ou qu'il n'est pas nécessaire d'y accéder directement à partir d'un nœud de la blockchain. Au lieu de cela, nous pouvons stocker toutes les informations pertinentes dans une base de données traditionnelle et les synchroniser avec la blockchain, tout en ajoutant de nouvelles couches personnalisées de logique et de fonctionnalités. C'est exactement ce que fait la ruche; et parce qu'elle est écrite en Python, les développeurs peuvent facilement modifier son comportement et ses APIs... et expérimenter à leur guise.

Garantir une haute fidélité

Bien que la ruche ne fasse pas l'objet d'un consensus, il est important que l'information qu'elle sert soit exacte et à jour. Le principal défi ici est la résolution des bifurcations [forks] ; les nœuds des témoins s'en chargent automatiquement avec leur base de données d'annulation [undo database] en mémoire, mais ce n'est pas si facile pour un observateur extérieur. Nous pourrions éviter complètement les bifurcations en suivant le dernier bloc irréversible, mais cela entraînerait un retard d'environ 45 secondes. Au lieu de cela, la ruche (par défaut) traîne en arrière de seulement 6 secondes, ce qui nous permet d'éviter le cas le plus commun des micro-bifurcations [microforks] inoffensives. Celles-ci sont insignifiantes pour les nœuds de témoins, mais nécessiteraient des mécanismes supplémentaires pour les gérer correctement à l'extérieur. Dans les rares cas où la ruche rencontre une bifurcations à plus de 2 blocs de profondeur, nous avons mis en place une routine de récupération de base. Les développeurs qui souhaitent vivre du côté sauvage ont l'option d'exécuter la ruche avec un délai de 0 seconde ; ceux qui préfèrent la jouer ultra-safe peuvent spécifier un délai allant jusqu'à 5 minutes (100 blocs).

La ruche est spécialisée

La ruche se concentre sur les postes, les relations, les actions sociales, les opérations personnalisées et les états dérivés.

  • discussions : par blog, tendances, chauds, créés, etc.
  • communautés : rôles/actions des mods, membres, flux (en 1.5 ; spec)
  • comptes : données de profil normalisées, réputation.
  • flux : suit/ne suit pas et resteems/unresteems (oui, unresteems !)

La ruche ne suit pas la plupart des opérations de la blockchain. Pour tout ce qui concerne les portefeuilles, les commandes, l'entiercement, les clés, la récupération ou l'historique des comptes, vous voudrez interroger SBDS ou steemd.

La ruche, c'est la créativité

La ruche peut être utilisée pour créer de nouvelles fonctionnalités. En voici quelques-unes qui seront possibles avec la ruche :

  • réactions, signets
  • commentaire sur le resteems
  • indexation des données de profil personnalisé
  • réorganisation des anciens messages (catégoriser, filtrer, masquer/afficher)
  • le vote/sondage (démocratique ou brûler/envoyer pour voter)
  • modélistes : (p. ex. spam, abus, mauvais goût)
  • métadonnées crowdsourced
  • mentionne l'indexation
  • recherche plein texte
  • statistiques riches
  • listes des abonnés
  • suivi des bots
  • mini-jeux
  • robots communautaires
  • et bien plus encore

Il y a beaucoup de potentiel, j'ai hâte de voir l'effet de levier. C'est pourquoi j'ai consacré tant de temps à m'assurer que ça fonctionne bien : parce que la ruche jettera les bases d'une expérience beaucoup plus riche et plus sociale sur la blockchain Steem, que vous utilisiez steemit.com ou tout autre site qui choisit de profiter de cette nouvelle couche open source.

État d'avancement : ALPHA

Ruche 1.0 : Noyau

La version 1.0 contient une API PMV (Produit Minimum Viable) qui réplique tous les bits pertinents de get_state et get_discussions_* nécessaires pour supporter le condensateur. C'est vraiment très ennuyeux, mais il est crucial de faire tourner steemit.com contre la ruche pour tester sa charge, sa fiabilité et sa compatibilité. L'objectif immédiat est de prendre en charge certaines responsabilités de steemd tout en jetant les bases des API de la prochaine génération.

L'indexeur de base et le service API sont presque terminés. Comme il s'agit d'une infrastructure essentielle, nous devons assurer la fiabilité et l'uniformité. Actuellement, les travaux se concentrent sur le lancement de l'environnement de production et l'optimisation des performances. Ensuite, nous commençons l'intégration et le test de l'API. Une fois stable, le condenseur (powering steemit.com) sera commuté sur les nouveaux points d'extrémité de la ruche; si tout est intégré correctement, les utilisateurs ne remarqueront rien. C'est un peu comme moderniser un moteur d'avion en plein vol tout en s'assurant qu'il n'y a pas de hoquet et que toutes les commandes fonctionnent comme d'habitude.

Actuellement, nous examinons les résultats de notre premier réindex de production. Comme vous pouvez le voir dans le tableau ci-dessous, nous avons eu deux grandes poussées d'activité sur notre blockchain. Les blocs récents prennent jusqu'à 0,03 secondes à traiter. Cela peut sembler peu, mais ça s'additionne.

S'il existe une blockchain avec une telle quantité de données sociales riches et ouvertes, je serais surpris (mais faites-le moi savoir). Pour ceux qui comptent les points : Les témoins de Steem ont produit plus de 20 900 000 blocs contenant plus de 285 000 000 000 de transactions jusqu'à présent !

Le plein potentiel de la ruche ne sera pas débloqué tant que les nouvelles API modernes ne seront pas finalisées. Nous publierons une autre mise à jour une fois que nous serons prêts pour les bêta-testeurs et les commentaires de l'API.

Ruche 1.5 : Communautés

Une fois la partie difficile terminée, le plaisir commence avec la ruche 1.5. Les communautés apportent une toute nouvelle forme d'interaction avec la blockchain Steem, et nous sommes excités à l’idée de voir l'écosystème évoluer une fois que les utilisateurs peuvent collaborer facilement avec des personnes partageant les mêmes idées, voter des sujets d'intérêt commun et vraiment s'organiser. Nous prévoyons que le blockchain Steem deviendra l'endroit idéal pour discuter de tout et n'importe quoi sous le soleil.

Nous savons que tout le monde est aussi enthousiaste que nous pour le lancement de Communautés. Nous avons encore du travail à faire avant qu'elles soient prêtes à 100 %, mais nous sommes très près d'avoir terminé la version 1.0. Nous continuerons de vous tenir au courant de nos progrès.

Restez à l'écoute !

@roadscape, Team Steemit

Sort:  

Uncomplicated article. I learned a lot of interesting and cognitive. I'm screwed up with you, I'll be glad to reciprocal subscription))

J'ai beau être de l'IT, m'a fallu un peu de concentration pour tout suivre, en tous cas c'est très intéressant. Je salue le boulot dépilé et je vous souhaite bon courage pour la suite.

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.028
BTC 56576.23
ETH 3024.80
USDT 1.00
SBD 2.29