Wyvern 2.3 : Guide de mise à niveau du développeur | Affiliation Center

Wyvern 2.3 : Guide de mise à niveau du développeur

Wyvern 2.3 sera bientôt le nouveau contrat de marché pour OpenSea, et est situé ici.

Nous allons apporter quelques modifications à la plate-forme pour accompagner le nouveau contrat. Ces changements ont des implications pour les développeurs qui s’appuient sur le SDK OpenSea.js et notre API. Les principaux plats à emporter :

  • les commandes passées sur OpenSea nécessitent désormais la v2 du SDK pour être exécutées,
  • les nouvelles commandes nécessiteront la v2 le 18 février et les anciennes commandes cesseront de fonctionner le 25 février,
  • nous introduisons la pagination basée sur le curseur pour les événements sur l’API, et
  • quelques paramètres de l’API vont changer.

Lisez ci-dessous pour en savoir plus sur la mise à niveau et comment vous pourriez être affecté.

À propos de la mise à niveau

Le 1er février, nous avons déployé et proposé la mise à jour du contrat marketplace d’OpenSea, appelé Wyvern. OpenSea a tiré parti de Wyvern pour effectuer des ventes de NFT depuis mars 2018 ; depuis lors, il a grandi jusqu’à contrat intelligent le plus utilisé sur Ethereum :

Wyvern a été le premier contrat intelligent que nous avons trouvé avec une architecture de commande hors chaîne pour les NFT. Il offrait une vision flexible de l’avenir de la liquidité NFT, y compris des listes sans gaz et des transferts indépendants du schéma, nous l’avons donc utilisé comme contrat. Mais au cours des dernières années, il a commencé à montrer certaines limites, notamment l’impossibilité d’annuler des offres en masse.

Wyvern 2.3 corrige certaines de ces limitations, en introduisant :

  • EIP-1271: Les portefeuilles de contrats intelligents peuvent désormais signer des commandes et les soumettre à OpenSea sans payer d’essence. Cela permet également à une multitude de nouvelles applications de fonctionner avec OpenSea, y compris Argentde Skyweaver Séquence porte-monnaie, et bien d’autres.
  • Annulations groupées: Vous pouvez écouter vous-même le nouvel événement NonceIncremented pour voir quand un utilisateur annule en masse des commandes

Chronologie

Le 4 février, nous avons lancé une période obligatoire de basculement en chaîne de deux semaines pour passer au nouveau contrat.

Le 18 février, le ancien contrat pour Wyvern 2.2 commencera un processus d’arrêt de sept jours. Les anciennes versions de notre SDK ne pourront plus publier de commandes sur OpenSea (plus d’informations ci-dessous).

Le 25 février, les commandes passées sur l’ancien contrat ne pourront plus être exécutées en chaîne, et nous ne les mettrons plus à la disposition des consommateurs de notre API.

Modifications du SDK

Aujourd’hui, nous avons lancé une nouvelle version (2.0) de notre SDK pour profiter de Wyvern 2.3. Bien que les signatures de fonction n’aient pas changé, quelques modifications avec rupture nécessitent une mise à jour :

  1. Les versions précédentes du SDK continueront de fonctionner, mais les commandes créées à l’aide du nouveau SDK (et sur opensea.io à partir d’hier, le 9 février) ne pas être réalisable avec l’ancien SDK. Une mise à niveau sera nécessaire pour les faire correspondre.
  2. Le 18 février, les versions du SDK antérieures à la 2.0 seront ne plus pouvoir créer de nouvelles commandes. OpenSea ne les acceptera pas. Cette nouvelle version du SDK commencera automatiquement à signer et à soumettre des commandes pour Wyvern 2.3.

En savoir plus sur notre SDK ici : https://github.com/ProjectOpenSea/opensea-js

Modifications de l’API

Nous apportons trois modifications à notre API : introduire la pagination du curseur, supprimer les paramètres de tri des dernières ventes et créer un point de terminaison défilant pour obtenir des commandes sur un seul article.

1. Curseurs

Nous allons déployer une mise à jour de l’un de nos points de terminaison d’API, l’API des événements, pour introduire la pagination basée sur le curseur.

Nous adoptons une approche lente et régulière pour permettre la rétrocompatibilité pendant quelques semaines et donner aux développeurs la possibilité de changer lentement.

Cela signifie que les requêtes existantes n’échoueront pas soudainement ; ils cesseront simplement de se comporter comme ils le font normalement. Nous rendrons totalement obsolètes ces champs et vous devez vous attendre à ce qu’ils ne fonctionnent plus d’ici le 1er mars 2022.

Quels changements ont été apportés ? le /events le point de terminaison renverra désormais par défaut les curseurs suivant et précédent, qui seront des liens prêts à l’emploi vers la page suivante dans l’ensemble de données résultant.

Cela conduira à des temps de réponse API nettement plus rapides pour vous et à des API moins intensives pour nous (et donc moins d’instabilité de la plateforme !). Si vous le souhaitez, vous pourrez continuer à utiliser limit, offsetet occurred_after pendant un certain temps afin de ne pas interrompre les appels API existants que vous pourriez effectuer actuellement. le occurred_before champ restera pour vous permettre de commencer votre recherche à un moment précis.

Finalement, nous obsolèterons complètement ces champs. Ces quatre champs, qui sont utilisés par les utilisateurs de l’API pour obtenir la page de résultats suivante, ne seront désormais conservés que pour la rétrocompatibilité. La réponse de l’API pour ce point de terminaison comportera désormais deux nouveaux champs :

{
	"asset_events": [...], <- existing field with data
	"next_page:": "<https://api.opensea.io/api/v1/events?cursor=cj0xJnA9MjAyMi0wMi0wMiswMiUzQTQ1JTNBMTIuNjQ3MDM2>", <- new field
	"previous_page": "<https://api.opensea.io/api/v1/events?cursor=cD0yMDIyLTAyLTAyKzAxJTNBNDglM0EzNC4xMzE4Nzk%3D>", <- new field
}

Lorsque les utilisateurs souhaitent accéder à la page suivante, ils doivent utiliser la page suivante comme point de terminaison de la demande.

Pourquoi? Cette mise à jour simplifie non seulement les choses pour les utilisateurs souhaitant accéder à la page suivante, mais conduit également à des temps de réponse beaucoup plus rapides. De plus, vous ne serez pas non plus limité à un jeu de données de résultats plus petit de 10 000 avec ce changement. Il s’agit d’une limitation de conception du fonctionnement des requêtes basées sur le décalage, ce qui n’est pas le cas avec la pagination basée sur le curseur.

Nous nous concentrons sur l’amélioration de l’excellence opérationnelle, ce qui améliorera l’expérience de nos utilisateurs, entraînant une amélioration des performances et de la fiabilité.

Nous prévoyons éventuellement de faire défiler la pagination du curseur vers tous nos points de terminaison de liste. Vous pouvez en savoir plus sur les avantages de la pagination du curseur ici.

2. Suppression du tri des dernières ventes

Quoi: Nous déconseillons et supprimons éventuellement sale_date, sale_countet sale_price comme options de tri à partir de /assets

👉🏽 https://docs.opensea.io/reference/getting-assets

Pourquoi: Un très faible pourcentage de requêtes pour le point de terminaison /assets/ les utilise comme options de tri. Cependant, ils conduisent à certaines des requêtes les plus lentes et les moins efficaces sur notre plateforme. Cela conduit à un OpenSea mal optimisé.

Dans un avenir proche, nous allons déplacer la pagination de notre curseur vers la /assets endpoint, ce qui signifie que ces options de commande ne fonctionneront pas.

À long terme, cela conduira à une expérience de développement améliorée avec des demandes d’API améliorées et une plate-forme plus fiable. Nous évaluerons la réintroduction de la possibilité de récupérer les actifs commandés par ces options à l’avenir.

Intervention du développeur : Si vous comptez actuellement sur sale_date, sale_countet sale_price comme options de tri à partir de /assets pour vos requêtes API, vous devrez mettre à jour votre logique pour ne plus compter sur elles. Pour l’instant, vous pouvez continuer à utiliser ces options de commande, mais les requêtes avec ces entrées de commande échoueront éventuellement.

3. Point de terminaison des nouvelles commandes pour les articles

Quoi: Nous déployons un nouveau point de terminaison pour récupérer les commandes ouvertes sur un actif /asset/:contract_address/:token_id/orderset éventuellement déconseiller et supprimer les commandes renvoyées dans le /asset/:contract_address/:token_id et le /assets point final

Pourquoi: Le retour d’informations détaillées sur les actifs, y compris une liste complète des commandes, a conduit à des API sous-performantes sur notre plate-forme.

Cela a entraîné une réduction des performances de la plate-forme dans son ensemble, et nous travaillons à améliorer la fiabilité d’OpenSea. Vous pourrez toujours accéder aux mêmes données à partir d’un point de terminaison dédié optimisé.

Les commandes renvoyées pour chaque actif étaient également limitées à 50 commandes par actif. Il n’existe actuellement aucun moyen de récupérer des pages supplémentaires de ces commandes, ce qui entraîne une expérience moins qu’idéale pour les développeurs. Le point de terminaison des nouvelles commandes aura la pagination du curseur activée, ce qui signifie que vous pourrez voir plus de 50 commandes ouvertes pour un actif.

Intervention du développeur : Dans les semaines à venir, nous déploierons lentement le nouveau /asset/:contract_address/:token_id/orders point final. Si vous comptez sur le /asset/:contract_address/:token_id point de terminaison pour rechercher toutes les commandes d’un actif, nous vous recommandons de vous préparer à déplacer votre logique pour appeler le nouveau point de terminaison.

Nous continuerons à retourner les commandes sur l’original /asset/:contract_address/:token_id point final jusqu’au 1er mars. Après cette date, nous ne retournerons les commandes sur ce point de terminaison que si vous passez également include_orders=true en tant que paramètre de requête au point de terminaison d’origine. Après le 21 mars, nous cesserons complètement de retourner les commandes sur le /asset/:contract_address/:token_id point final. À ce stade, la seule façon de récupérer ces commandes sera avec le nouveau /asset/:contract_address/:token_id/orders point final.

Rappel sur les clés API

Pour demander une clé API, veuillez visiter https://docs.opensea.io/reference/request-an-api-key

Nous avons écouté notre communauté et comprenons que la rapidité compte, et nous nous engageons à traiter toutes les demandes de clé API en cinq jours. Pour les mises à jour de l’API, suivez-nous sur Twitter @APIOpenSea et rejoignez notre Canal Discord des développeurs.

À venir

En plus des nouvelles fonctionnalités de Wyvern 2.3, le nouveau SDK ouvre la voie pour permettre aux utilisateurs et aux développeurs de créer des commandes avec des critères avancés. Restez à l’écoute pour des mises à jour passionnantes sur les types de commandes que vous pouvez créer !

Noter: une conséquence de ce changement est que les commandes créées sur Wyvern 2.2 et 2.3 ont leur target mis à un nouveau spécial contrat validateur et effectuera des correspondances par procuration à travers lui.

Consultez nos documents pour obtenir des conseils et des didacticiels intéressants qui exploitent le SDK et notre API gratuite pour les NFT : https://docs.opensea.io/. Nous avons ajouté un nouveau tutoriel pour créer votre propre contrat intelligent NFT, utilisable sur n’importe quel marché.

Nous serons dans le #développeurs canal dans notre Discorde pour aider à la migration.

Le post Wyvern 2.3 : Developer Upgrade Guide est apparu en premier sur OpenSea Blog.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.