Mise à Jour Ingénierie de Q3 2022 du Réseau Oasis

Gomski33
9 min readNov 12, 2022

--

Avertissement : Cette publication est une traduction réalisée par un représentant d’Oasis. Des contrôles rigoureux sont mis en place pour fournir des traductions précises mais il est possible qu’il existe des erreurs et des omissions. Oasis ne prend pas la responsabilité de la précision ou de la fiabilité de cet article. Lisez la version originale de l’article ici.

C’était un autre suite de mois chargé chez l’équipe ingénierie de Oasis. Nous avons enregistré de grands progrès en incorporant le Sapphire à la couche Paratime avec son lancement sur le Testnet vers le terme du juillet. Cela se rend possible au moment de réaliser de déployer des contrats intelligents au Paratime Sapphire sur le Testnet — Attendez-vous le tutoriel ci-dessous.

En plus, l’équipe à réussir de maintenir le Cipher et le Emerald. Il n’y avait pas de panne chez les derniers.

Le Portefeuille Oasis- Web qui se rend la base de code commune à travers tous les Portefeuille Oasis, a vécu de grandes mises en œuvre conçu pour le support de stockage local des navigateurs. Celà nous emmène vers la sortie du Portefeuille Oasis- Extension du navigateur 2.0, tout développé de la base de code commune.

Tout au long du quartier, des mises à jour, des améliorations et trois sorties de maintenance pour le Oasis Core (qui est le moteur pourvoyant aux nœuds de Oasis) ont été effectuées.

Nous avons hâte de profiter de cette période chargée et d’avancer au quatrième quartier de cette année, où plus de mises à jour pertinente sera annoncée ; dont le plus marquant sera le lancement de Sapphire au Mainnet.

Pour tous les détails de la mise à jour ingénierie, veuillez vérifier ci-dessous.

Mise à Jour de Portefeuille

Oasis Wallet- Web (Portefeuille Oasis) a vécu du développement significatif pendant Q3 axé sur le soutien de stockage localisé de navigateur et aussi des échanges chez les Paratimes. Nous visons de faire sortir le soutien conçu pour les Paratimes au cours de cette année. La suite est la prochaine version du portefeuille Oasis- Extension du navigateur, développé d’une base de code commune. Nous avons fusionné 112 pull requests. Quelques additions et améliorations les plus marquant (y compris des réparations sur la partie Paratime):

  • Afficher liste de transactions des Paratimes (#849)
  • Réparation d’extension navigateur (#904)
  • Ajout de règles lint pour renforcer notre remplacement de type-safe (#911, #914)
  • Valeur par défaut du solde nul au lieu de 0 (afficher ‘-’ pour un solde inconnu) (#916)
  • Afficher uniquement AddEscrowForum sur votre compte (#918)
  • Marquer des transactions échouées (#925)
  • Ne pas employer de domaine de solde incorrecte de RPC (#927)
  • Ajouter le touche “tout récupérer” (#931, #932)
  • Changer le UI pour paraître pareil avec Portefeuille Oasis- Extension du navigateur (#933, #935, #936, #937)
  • Améliorer la précision numérique avec BigNumber.js (#952)
  • Dépôts des Paratime et des retraits (#962, #969)
  • Afficher la période de débondage estimée dans la liste de débondage (#963)
  • Améliorer la vitesse de la configuration du réseau par 40% (#976)
  • Réparation de l’importation des comptes multiples du grande livre (#980)
  • Ajouter le soutien lié à la dérivation des comptes multiples de mnémotechnique (#983)
  • Nommer le ticker approprié dans la résumé de compte (#1026)
  • Réduire la taille de tas (7.2Mo → 5.4Mo) avec des importations grommet consistente (#1038)
  • De réparations minimes de UI (#868, #879, #903, #919, #921, #922, #928, #946, #947, #949, #953, #958, #999, #979, #1019, #1049)

Pendant que Portefeuille Oasis- Web sera la base de code commune pour tous les deux portefeuilles, nous avons continué d’effectuer des améliorations chez le Portefeuille Oasis — extension navigateur. Pendant Q3, nous avons fusionné 9 pull requests et avons sorti la version 1.8.0. Voilà des changements marquant:

  • Ajouter Sapphire sur le Testnet (#279)
  • Améliorer la précision numérique dans récupérer escrow (#281)
  • Sondage pour le statut de transactions de Sapphire (#285)
  • Réparation du bogue “nonce invalide” (#282)
  • Réparations minimes de UI (#280, #282, #286)

Le CLI de Oasis -un CLI unifié pour la gestion des comptes et des contrats intelligents sur Oasis — a reçoit aussi des améliorations :

  • Ajouter des soutiens pour le déchargement de contrats déployés de WASM (#1007)
  • Ajouter le soutien du déchargement d’état des contrats (#1034)
  • Chercher les adresses par le moyen du nom du compte, ajouter le soutien pour les comptes d’essai (#1038)
  • Soutenir le changement de la politique de la misé en œuvre d’un compte (#1052)
  • Ajouter le soutien pour le carnet d’adresses (#1087)

Afin de signer des transactions des Paratimes avec des portefeuilles matériels tel que le Ledger, une nouvelle spécification de ADR 14 a été proposée.

La mise en œuvre débutera lors de Q4.

Mise à Jour des Paratimes

  • Les Paratimes Emerald et Cipher étaient en stabilité sur le Mainnet tout au long de Q3 et il n’y a pas eu de pannes ou d’incidences relatives.
  • Les effets du marché bear sur l’usage de DeFi se font montrer par rapport aux amants de transactions chez Emerald. Le sommet quotidien pour Q3 se voit pendant le début de juillet avec à peu près 60,000 transactions par jour, qui fait un bond progressivement terminant le quartier avec 16k-18k transactions quotidien.
  • 52 nœuds opèrent le Paratime Emerald sur le Mainnet en date du 30 sept.
  • 29 nœuds opèrent sur le Mainnet Cipher en date du 30 sept.

Progrès de Paratime

Les Paratimes de Oasis a vécu du progrès important pendant le Q3

Fin de juillet, nous avons déployé le nouveau Paratime à la confidentialité qui est aussi compatible à l’EVM- Sapphire- sur le Testnet. Le code est disponible dans notre dépôt Github nommé sapphire-paratime et oasis-sdk

Pour faciliter la convenance, nous avons ajouté le déchargement de code de contrat intelligents sur le Cipher Paratime et le déchargement d’état de contrat intelligents (chiffré en option). Cela rend facile le contrôle des contrats on chain et est envisagé d’aider avec le débogage.

La résumé des changements de Runtime SDK:

  • Ajouter le chiffrement de bibliothèque de transportation à web-ts;

Les tests de derive_symmetric_ket pour go, rust et typescript (#962)

  • Outil ORC: Ajouter le soutien pour le signature des binaires SGXS (#1056)
  • EVM: ne pas nécessiter le chiffrement d’une chaîne vide (#1064)
  • Réparation de calculation de gaz: réparer dépêche de subcall (#1066)
  • EVM: faire afficher les données publiques dans les requêtes signées (#1069)
  • EVM: Ajouter les pré-compilations de chiffrement (#1102)
  • EVM: Ne pas chiffrer la sortie de contact create (#1138)
  • Améliorer les tests en les compilations (#991, #1041, #1046, #1047, #1081, #1101)

Mise à Jour de Plateforme des Programmateurs

Il est actuellement possible de réaliser et de déployer les contrats intelligents à la confidentialité de EVM au Paratime Sapphire sur le Testnet. Nous vous encourageons à contrôler le tutoriel et de nous passer votre feedback.

Le Emerald Web3 Gateway est actuellement compatible avec les Paratime Emerald et Sapphire. Les autres réparations comprennent les bumps de version. En Q3, nous avons fusionné 9 pull requests. Une nouvelle sortie v.3.0.0 a été effectuée avec des réparations pour les fonctions de l’estimation de gaz, et la sortie de v3.1.0-rc1 a apporté le soutien pour Sapphire.

Notre Documentation se compose des fichiers de markdown provenant de plusieurs repositoires. D’ailleurs celà a vécu une révision complète en Q3 à la fois backend et frontend. Les catégories frontend sont actuellement tournées vers le public à la place d’être au composant:

  • Les utilisateurs du Réseau Oasis (Nouvelles générale lié au réseau et la fondation, les guides au portefeuille)
  • Nouvelles liées à la communauté
  • Gérants des nœuds (des paramètres des réseaux Mainnet et Testnet, installation de différents nœuds et services)
  • Programmateurs des dApps (Développer des applis conçu pour les Paratimes de Emerald, de Sapphire, et de Cipher)
  • Programmateurs des Paratimes
  • Contributeurs de base

Améliorations Backend

  • Soutiens vers la modification de n’importe fichier de Markdown peu importe le placement de ses repositoires originales
  • Liaisons efficaces des fichiers .md et des doc cartes référencés et des autres repositoires.
  • Soutiens pour l’importation de snippet de code des fichiers
  • Pour assurer la compatibilité à l’envers, les redirections ont été installées pour tous les derniers documents

La documentation a été déplacée de docs.oasis.dev à la domaine docs.oasis.io. Nous vous souhaitons une bonne expérience en employant ces changements. N’hésitez pas à aider avec des tutoriels, des guides et des réparations en passant par https://github.com/oasisprotocol/docs et en demandant des pull requests.

ADR17 présente un modèle standard pour interopérabilité des applications aux Paratimes. Cela se présente avec notre premier RFP exigeant un standard de jeton fongible lié à la confidentialité pour le Paratime Sapphire.

Mise à Jours de Plateforme Importante

Nous avons fait sortir trois sorties de Oasis Core 22.1.x lors de Q3 (v22.1.9, v22.1.10, v22.1.11). À la fois, le développement de Oasis Core 22.2.x a débuté avec des traits essentiels tels que Intel SGX2, des attestations basées sur DCAP, des améliorations chez la gestion on-chain, et la sécurité de runtime à TEE. Une sortie stabilisée est envisagée pour le début de décembre. En total, 64 pull requests se sont fusionnés en Q3. Voila les nouvelles fonctionnalités souligné et des changements importants (la plupart des changements sont visés d’été effectuer chez Oasis Core 22.2.x, et certains s’est fait reprendre à 22.1.x):

  • go/staking/grpc : Renommer la méthode GovernanceDeposits mal nommée (#4652)
  • go/runtime : Rendre obligatoire l’utilisation du contrôle de la planification de l’exécution (#4665)
  • Ajouter le support pour l’attestation PCS (#4806, #4789, #4720, #4752)
  • go/governance : Ajouter la proposition de paramètres de changement (#4938)
  • Ajout du support du mode archive (#4539)
  • go/control : Afficher les statuts des options de débogage dans la sortie de contrôle (#4634)
  • runtime : Rendre configurable l’état de vérification des transactions persistantes (#4640)
  • go/runtime/txpool : Limiter les transactions en cours par expéditeur (#4665)
  • go/control/status : Ajout de domaines pour un aperçu bref de l’état des noeuds (#4669)
  • go/worker/storage : Rendre plus automatisée la sélection des pairs de synchronisation de point de contrôle (#4671)
  • runtime : vérifier l’époque dans le distributeur en utilisant le vérificateur de consensus (#4677)
  • go/worker/compute : S’assurer que le trust root est vérifiée avant de l’enregistrer (#4678)
  • go/worker/compute : Commencez le batch résolution plus tôt pour le travailleur de secours (#4679)
  • go/runtime/txpool : Ajouter les données des messages entrants de roothash en tant que transactions (#4681)
  • go/worker/registration : ajout de métriques sur le statut des noeuds (#4686)
  • runtime : Activer le dispatcher pour vérifier l’intégrité de l’état des requêtes (#4694, #4830, #4904)
  • go/worker/common/p2p : Ajout du support pour les pairs persistants et bloqués (#4713)
  • go/worker/common : Traite correctement la configuration dynamique du gestionnaire de clés (#4715)
  • go/runtime/txpool : Ajout d’une métrique txpool pour les transactions runtime rejetées (#4724)
  • runtime : Vérifier que RAK est en état de consensus quand il sert des requêtes (#4741)
  • runtime : Ajout du support pour rapporter les réactions des pairs EnclaveRPC (#4757)
  • archive-mode : désactiver le runtime de P2P si le mode archive est utilisé (#4775)
  • go/consensus/tendermint : Ajouter consensus.tendermint.halt_height (#4793)
  • net-runner : Ajouter l’indicateur — fixture.default.runtime.version (#4813)
  • go/oasis-node : permet à km d’avoir des pairs privés (#4821)
  • go/runtime/registry : permet aux noeuds clients d’exécuter des runtimes sgx (#4832)
  • go/worker/keymanager : Ajout de métriques pour les travailleurs du gestionnaire de clés (#4877)
  • go/control/status : Ajout du statut du travailleur du gestionnaire de clés au statut du noeud (#4883)
  • keymanager : Ajout du support pour les clés éphémères (#4902)
  • oasis-net-runner : Fixer les max_allowances par défaut, augmenter le solde du compte de test (#4902)
  • runtime/consensus/verifier : Support des mises à jour de la couche consensus du trust root (#4903)
  • runtime : Support des requêtes sur les événements de consensus (#4904)
  • keymanager : Validation de la plus dernière hauteur du trust root dans les requêtes du gestionnaire de clés (#4910)
  • registry : Ajout de la transaction de la couche de consensus ProveFreshness (#4916)
  • runtime : Ajouter la vérification de la fraîcheur du TEE du noeud client (#4922)
  • keymanager : Vérifier que la politique a été publiée dans la couche de consensus (#4925)
  • Lier les attestations TEE aux noeuds et renforcer la nouveauté (#4926)
  • go/genesis : enregistrer dans la cache le hachage calculé du document genesis (#4919)
  • go/oasis-node/cmd : unsafe-reset à conserver le stockage local par défaut (#4700)
  • go/oasis-node/cmd : unsafe-reset verfier la validité dedatadir (#4702)
  • runtime : Émettre des journaux de runtime en tant que journaux d’oasis-node (#4709, #4924)

Le nouvel Oasis Indexer, qui prend en charge l’indexation des transactions de la couche de consensus et des Paratime, a été mis en open-source. Au troisième trimestre, la focalisation a été mise sur l’élaboration des fonctionnalités de base, l’ajout de la mise en cache, la correction des bogues et l’amélioration des outils de déploiement. 25 PRs ont été fusionnés. Nous prévoyons de mettre à jour les Portefeuilles Oasis pour utiliser l’indexeur Oasis à l’avenir.

l’ADR 15 a été proposé pour corriger les défauts du processus de sélection des proposants de blocs ParaTime. Le proposant de bloc est actuellement sélectionné par le moyen d’un algorithme de type round-robin, le rendant trivial pour déterminer le proposant d’un bloc en question bien à l’avance. L’ADR 15 propose un mécanisme permettant de rendre aléatoire l’ordre de sélection des proposants des blocs Paratime.

l’ADR 16 propose un processus plus efficace pour la mise à jour des paramètres de consensus sur le réseau Oasis. Actuellement, pour changer les paramètres de consensus, il faut mettre à jour les binaires des nœuds Oasis, les redémarrer et se resynchroniser avec la nouvelle version du réseau de consensus. L’ADR 16 ajoute une nouvelle proposition de gouvernance ChangeParametersProposal qui peut nous diriger à éviter les temps d’arrêt et améliorer la robustesse du réseau.

--

--

Gomski33

Blockchain enthusiast and translator. Keen on Web3 and its possibilities.