ARK Core v2 — À plein régime

zôÖma
ARK.io - France
4 min readJul 30, 2018

Au cours des dernières semaines, nous avons testé le nouveau ARK Core v2 ainsi que la rétro-compatibilité v1 prévue sur notre TestNet interne et DevNet public. Et … les deux versions ne jouent pas bien ensemble.
Les sacs de noeuds laissés par le code de Lisk, et avant cela Crypti, causent trop de chagrin et de maux de tête. L’idée initiale était d’assurer la rétrocompatibilité afin que tout développement en cours sur v1 puisse continuer. La réalité est que tout le monde, y compris l’équipe ARK attend avec impatience la v2.

L’effort et le temps requis pour rendre compatible Core v2 de manière fiable et rétrocompatible deviennent excessifs, pour trop peu d’avantages. À partir de maintenant, nous abandonnons les efforts pour rendre Core compatible avec v1. Comme votre chéri de lycée imparfait et immature qui ne cesse de vous torturer à plusieurs reprises — il est temps de la laisser partir et passer à autre chose. Parfois, lorsque vous êtes dans une relation, il faut un bon coup de pied de l’extérieur pour avoir enfin les idées claires. Cette image proposée par la communauté résume parfaitement la situation et a offert des fous rires au sein de l’équipe.

À partir de maintenant, toute l’attention sera mise sur le Hardfork de la v2 et le déploiement sur le Mainnet dès que possible. Cela nécessitera encore des tests sur le processus de Hardfork et une série de tests critiques sur le réseau v2 une fois qu’ils seront exécutés en douceur (avec les erreurs d’incompatibilité v1 en moins). Ce test représente la majorité de notre travail depuis quelques semaines.

Le moment venu, les exchanges devront être mis à jour et il y aura une brève période de transition progressive. Avec un avertissement bien en amont et une bonne méthode de transition, nous pensons pouvoir mettre à jour l’ensemble en peu de temps. Le code v2 rendra le processus beaucoup plus facile et plus fiable pour les échanges.

Un Hardfork était déjà prévu pour la mise en œuvre de l’AIP 11 suite à la transition vers Core v2. Notre plan actuel est de se concentrer sur le nouveau Core Developpement, en utilisant v2 pour progresser. Un Hardfork pour mettre en œuvre l’AIP 11 est toujours prévu, mais ne servira qu’à introduire de nouveaux types de transactions et n’affectera aucunement le nouveau développement Core.

Depuis que nous avons présenté le nouveau code au public il y a un mois, nous l’avons rigoureusement testé et nous concentrons sur les corrections du Core. Voici quelques-uns des articles réalisés pendant cette période:

  • Des tests supplémentaires ont été écrits pour le noyau. Nous nous concentrons sur la couverture de 100% des tests de base, de sorte que le développement soit plus facile pour les changements à venir et qu’il soit beaucoup plus facile de repérer les éventuels bugs lors de l’écriture d’un nouveau code.
  • Améliorations apportées à la diffusion de blocs.
  • Correction d’un problème de performance sur la sauvegarde des portefeuilles qui réduit énormément le temps (de 45 minutes à quelques secondes sur MainNet).
  • Plusieurs hôtes / relais Forger permettent désormais d’exécuter le Forger derrière un pare-feu sur un serveur et le relais sur un autre.
  • Amélioration du Time-Tracking pendant la synchronisation.
  • Ajout de la vérification de la base de données après le démarrage du processus de noeud pour voir l’intégrité de la base de données (si la base de données est corrompue, cela vous est notifié).
  • Nous avons commencé à améliorer l’ensemble de l’accès à la base de données pour le rendre plus sûr contre les injections SQL.
  • Le processus du forger a été reconstruit, réécrit avec le calcul PBFT et la détection de l’état du réseau. Nous avons déjà testé le forgeage v2 sur DevNet interne, avec succès. Il sera encore optimisé durant la prochaine période de test.
  • Séquence de transaction de bloc améliorée (maintenant nous stockons l’ordre de transaction inclus dans les blocs) — ce qui était nécessaire pour le processus de reconstruction et la prise en charge de différentes bases de données (logique de commande différente des opérations d’écriture en bloc).
  • Réorganisation de la communication P2P avec des points de contrôle supplémentaires et une logique de confiance.
  • Implémentation de la capacité de recherche des transactions par senderId via API.
  • Plusieurs correctifs et mises à jour de state machine.

Notre processus de développement est organisé selon les meilleures pratiques et les recommandations de grandes sociétés d’ingénierie telles que AirBnB, Facebook et d’autres grandes entreprises de l’industrie technologique. Conformément à cette même tradition, nous avons mis en place les nouveaux éléments suivants:

  • modèles pour Issues et Pull Request
    (plus facile à développer et vérifier PR).
  • Une nouvelle fonctionnalité nécessite une couverture de test complète
    (les tests doivent être verts avant de fusionner le code).

Nous aimerions remercier les développeurs de la communauté qui ont déjà aidé à améliorer notre Core en fournissant des PR ou des Issues, qu’ils ont rencontrés lors des tests.

Plus d’informations sur:
https://docs.ark.io/docs/contributing

Nous aimerions également remercier la communauté et les délégués ARK pour leur soutien constant et leur motivation à tester la v2.

NOUVEAU DEVNET

Nous publierons les détails officiels sur la prochaine version publique de DevNet une fois que nous aurons terminé quelques tests internes supplémentaires. Restez à l’écoute de la chaîne #devnet dans notre slack, pour suivre avec le processus officiel et les mises à jour.

Suivez-nous sur les réseaux sociaux ( Twitter | Facebook | Reddit ) et restez à l’écoute de notre blog sur Medium et sur Steemit .

https://ark.io/
Article original de BoldNinja
Traduit par
Antoine Breuil pour Ark & ARK.io Espace Francophone

--

--

zôÖma
ARK.io - France

CEO & Founder @ Samouraï Coop — Co-Founder @ Paris P2P Festival — Ninja&Design @ Berty Technologies — I work hard to build future of cooperatives companies.