Dans cet article, l’auteur explore en profondeur l’algorithme Eigentrust d’OpenRank, qui est une nouvelle technologie actuellement utilisée par Metamask Snaps, Degen tips et Supercast. En tant que couche de calcul, OpenRank peut exécuter plusieurs algorithmes de réputation graphique, commençant par l’algorithme eigentrust. L’auteur partage pourquoi il est nécessaire de construire une communauté graphique, les concepts clés de l’algorithme, comment il fonctionne et comment créer votre propre graphe. De plus, l’auteur annonce une prochaine tâche de Bytexplorers et encourage les lecteurs à s’abonner pour obtenir les dernières mises à jour.
La plupart des cryptomonnaies d’aujourd’hui ont une interface utilisateur simple avec un classement des jetons de premier plan, triés par volume de transactions, liquidité, émission, points, votes, etc. Si nous voulons offrir une expérience de cryptomonnaie grand public qui dépasse les géants du Web2, notre application ne doit pas se limiter à un simple classement.
OpenRank est l’un des piliers qui nous aide à atteindre cet objectif et est déjà utilisé par Metamask Snaps, Degen Tips et Supercast. OpenRank est une couche de calcul qui peut exécuter plusieurs algorithmes de graphes de réputation, dont le premier est l’algorithme eigentrust.
Dans cet article, je vais vous présenter l’algorithme eigentrust d’OpenRank et discuter des points suivants :
L’importance de la construction communautaire graphique et pourquoi vous en avez besoin
Les concepts clés et le fonctionnement de cet algorithme
Comment créer votre propre graphique, en vous référant à un graphique que j’ai créé dans un cahier Python
Commençons!
Pourquoi construire un graphique de recommandation avec la communauté plutôt que de compter uniquement sur votre équipe d’apprentissage automatique ?
Lors de la construction d’algorithmes et de flux de recommandation dans la cryptomonnaie, vous serez rapidement confronté à certains problèmes de données :
· Les transactions comprennent de nombreuses opérations de différents niveaux.
Les relations entre les adresses peuvent devenir infiniment complexes par des transactions multiples.
· L’adresse elle-même contient une partie de l’identité, chaque identité étant pertinente dans différents contextes.
Tous ces trois points se développent à un rythme exponentiel, appelons ces éléments en croissance constante “contexte”.
Votre petite équipe de ML ne peut pas suivre ces idées sans fin
Vous ne voulez pas que votre équipe de backend ou d’ingénierie de données traite de ces problèmes, après tout, elle doit construire des produits. L’ère des applications avec des structures d’utilisateurs et de données d’utilisateurs est révolue. Vous n’avez plus seulement un simple lien, un ID utilisateur, des likes/réponses/partages et un ID de poste, mais vous pouvez avoir des échanges, des divisions, des chutes, des échanges, des dépôts, des délégations, des votes, des frappes, etc. Il y a presque chaque jour de nouvelles «opérations» qui apparaissent, ainsi que de nouvelles chaînes, de nouveaux types de portefeuilles, de nouveaux types d’identités, etc.
Je crois que dans l’année à venir, l’industrie de la cryptomonnaie développera une communauté scientifique des données graphiques basée sur le protocole et les produits OpenRank.
J’ai passé de nombreuses années dans la communauté wizard de Dune et j’ai été témoin de la puissance de la communauté, qui dépasse celle des petites équipes. J’ai également vu que presque toutes les petites équipes cryptographiques passent de “oui, nous pouvons tout faire avec un nœud et une base de données RDS” à “nous avons besoin d’outils de données construits par des communautés comme The Graph et Dune”. Pour moi, créer des combinaisons de requêtes et de graphiques recommandés pour des types spécifiques et ajustés à la communauté est un problème similaire. Nous devons commencer à collecter et à tester des graphiques qui peuvent fournir des flux de recommandations sur chaque application, du client Farcaster à l’explorateur de blocs.
Le concept d’un flux de recommandations est anachronique et sera éliminé. Les utilisateurs deviennent des conservateurs de contenu.
Dans le domaine des cryptomonnaies, les utilisateurs non seulement veulent emmener leurs graphiques sociaux dans différentes applications, mais ils veulent aussi emmener avec eux le contexte caché dans ces graphiques. Si je suis activement suivi la communauté /degen sur Farcaster, je veux être recommandé pour les activités de cette communauté sur Zora, Roam.xyz ou OnceUpon, et je veux pouvoir basculer cette recommandation vers le contexte d’une autre communauté à laquelle je participe, comme les collectionneurs d’artblocks. L’avenir sera l’époque où les utilisateurs découvriront et choisiront leur propre flux, au lieu de se limiter à une seule plateforme ou à une seule fonction de groupe ou de canal.
L’algorithme Eigentrust est similaire à PageRank, il classe les nœuds dans un réseau de graphes. La différence réside dans sa capacité à capturer des relations complexes de pair à pair en tant que distribution de confiance. Il a été initialement conçu pour attribuer des scores de confiance dans les réseaux de partage de fichiers. Dans le domaine des cryptomonnaies, on peut l’imaginer utilisé comme proxy pour des délégués de gouvernance de haute qualité ou pour identifier des contrats intelligents dignes de confiance.
Voici la formule d’Eigentrust :
Il y a deux entrées clés ci-dessus : les nœuds de confiance préétablis et le graphe de confiance local. “P” est votre confiance préétablie, “S” est votre confiance locale.
· Localtrust : il s’agit de la mesure de l’interaction entre deux nœuds lorsque le nœud “i” transmet une certaine valeur au nœud “j”. Il peut s’agir d’un transfert de jeton, d’une preuve, d’un vote en retour / d’un like, etc.
· Préconfiance (pretrust) : c’est le choix des « graines » des nœuds qui devraient être plus dignes de confiance dans votre réseau.
· “c”: Cette constante (entre 0 et 1) est le poids de la valeur de confiance entre le graphe de confiance global local et les graines de confiance préétablies. Les graphes interactifs ont généralement une distribution de loi de puissance, donc un poids de confiance préétabli plus élevé contribue à normaliser la distribution des valeurs de classement finales.
Si ces formules mathématiques ne sont pas très faciles à comprendre, on peut les comparer à un graphique social tel que Twitter, où l’influence des abonnés, des likes, des réponses, etc., est généralement concentrée sur un petit nombre de personnes, entraînant une dynamique de loi de puissance. En définissant un groupe de personnes influentes et en choisissant une constante « c » égale à 0,5 ou plus, en réalité, la moitié de la valeur de cette influence sera transmise aux personnes avec lesquelles ces personnes de confiance interagissent. C’est ainsi que l’on équilibre et distribue de manière plus uniforme les scores de confiance dans le réseau.
Quel est le rapport avec le choix de tout contexte et la création de tout flux de recommandation ?
Suppose you want to rank 10,000 funding proposals in a recommendation stream. Based on a set of voting interactions (local trust) and a set of trusted voters you choose (pre-trust), you can rank all voters and proposers by value. You can select your pre-trusted voters by selecting the top 10 voters you delegate to vote in multiple DAOs. Eigentrust will run based on these two inputs and give you a larger list of voters ranked in the graph according to the trust inherited from pre-trusted nodes.
De cette façon, vous pouvez maintenant utiliser cette liste de valeur de classement pour équilibrer les propositions de gouvernance en temps réel afin d’obtenir un flux de recommandations plus personnalisé !
Cela peut encore être trop abstrait, donc je vais expliquer à travers des exemples de code concrets dans la section suivante. Rappelez-vous, OpenRank gère le calcul et le stockage de ces graphiques Eigentrust, et vous recommande d’utiliser le flux de recommandation en sortie. Tout ce que vous avez à faire est de décider des entrées de préconfiance et de confiance locale.
Comment construire un graphe Eigentrust avec OpenRank ?
Objectif final
Dans cet exemple, je veux fournir un flux d’abonnement aux contrats recommandés pour le portefeuille utilisateur de Farcaster/base (Farcaster est une application similaire à Twitter). La sortie est simplement une liste contenant des ID et des valeurs, dans mon schéma, chaque ID est associé à un ID utilisateur Farcaster (fid).
Source de données
Après la création du graphique de classement, nous avons généré automatiquement ce flux de recommandation en fonction de leurs principaux contrats de la semaine dernière:
Source de données
Vous pouvez consulter le tableau de bord pour voir les autres flux recommandés créés à partir de ce graphique, tels que la création de Jetons non fongibles, les échanges de Jetons DEX et les activités du canal Farcaster.
Implémentation du code
Maintenant que vous avez vu l’objectif, parlons de la façon dont j’ai créé ce graphique de classement.
Tout le code de cet exemple peut être trouvé dans le notebook hex.tech, et si vous préférez l’exécuter localement, vous pouvez également utiliser Jupyter Notebook.
Tout d’abord, j’ai créé deux requêtes distinctes pour notre confiance anticipée et notre confiance locale :
La première requête concerne notre « nœud de confiance anticipée ». Cette requête, en fonction des interactions reçues (likes, partages, commentaires), renvoie les utilisateurs de haut niveau dans le canal /base. Ma formule est la suivante : (likes + 3 partages + 10 commentaires). Nous allons prendre les 100 premiers identifiants de cette requête comme nos nœuds de confiance.
Source de données
La deuxième requête est utilisée pour suivre les interactions off-chain entre les nœuds, à l’aide de l’adresse de liaison de l’utilisateur dans le canal /base. Étant donné que le flux d’abonnement recommandera des opérations hors chaîne, je veux m’assurer de choisir un graphique d’interaction basé sur le nombre d’interactions hors chaîne. L’utilisation de la valeur en dollars des transferts entre Nœud est une bonne approximation générique – j’ai suivi les transferts stablecoin et ETH sur Optimism, Base et Ethereum Mainnet.
Source de données
Analysez le graphique d’entrée et testez le graphique Eigentrust de sortie
Maintenant, avec les nœuds de confiance préalable et le graphe de confiance local, examinons quelques données statistiques récapitulatives. Dans le canal de base, 65 755 utilisateurs ont transféré des jetons à d’autres personnes dans ce canal. Notre nœud de confiance préalable peut parcourir 19 % du graphe (c’est-à-dire des nœuds connectés). Ce pourcentage peut varier en fonction du degré de sybilisation des données de confiance locale du graphe. Le transfert de jetons peut être un signal fort, mais il peut également s’agir de pratiques de balayage malveillant, il n’est donc pas surprenant que la plupart du graphe ne soit pas connectée.
Une fois que nous avons confirmé que la taille des données d’entrée et la connexion sont raisonnables, nous pouvons exécuter et enregistrer notre graphe Eigentrust. J’ai enregistré mon graphe en tant que id« base_transfer_50 »- vous pouvez voir ci-dessous que l’entraînement du graphe ne nécessite que 10 lignes de code. Vous pouvez considérer OpenRank SDK comme le scikit-learn des modèles de chiffrement de graphique.
Vous souvenez-vous de la constante “c” dans la formule précédente ? Faisons une recherche en grille avec différentes valeurs de c (que j’appelle alpha) et différentes tailles de graines de confiance pour voir laquelle peut nous donner le score de confiance logarithmique le plus élevé et le taux de couverture le plus élevé :
Il y a beaucoup de compromis ici, et il n’y a pas de valeur optimale à choisir. Si vous souhaitez recommander une forte diversité, une régularisation élevée et une couverture sont de bons choix, mais pour les votes de gouvernance à haut risque, vous voudrez peut-être en réalité une plus grande concentration de confiance. Vous pouvez utiliser votre intuition ici.
À partir d’ici, nous pouvons insérer des valeurs dans la requête d’abonnement liée au tableau de bord de Dune au démarrage pour obtenir le flux d’interaction contractuelle des utilisateurs de confiance dans le canal /base. Cette sortie subjective recommandée nous aide à mieux relier les indicateurs généraux précédents à nos attentes intuitives de qualité de la sortie recommandée.
C’est fait ! Vous pouvez utiliser cette API Dune dès maintenant pour alimenter toutes vos applications.
Apprendre à construire votre propre graphique OpenRank Eigentrust
Êtes-vous prêt à vous mettre au travail ? Vous pouvez forker mon ordinateur portable et essayer par vous-même, tous les liens nécessaires sont les suivants :
·OpenRank Docs
Dépôt Python SDK
·Carnet Python
Tableau de bord d’alimentation de Dune
Je vais lancer une mission Bytexplorers le mois prochain, où nous organiserons une compétition pour créer les meilleurs graphiques d’abonnement adaptés aux principales applications de chiffrement.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Une exploration approfondie de l'algorithme Eigentrust d'OpenRank: comment construire une couche de calcul social ?
Auteur: Andrew Hong
Compilé par Ladyfinger, BlockBeats
Note de l’éditeur :
Dans cet article, l’auteur explore en profondeur l’algorithme Eigentrust d’OpenRank, qui est une nouvelle technologie actuellement utilisée par Metamask Snaps, Degen tips et Supercast. En tant que couche de calcul, OpenRank peut exécuter plusieurs algorithmes de réputation graphique, commençant par l’algorithme eigentrust. L’auteur partage pourquoi il est nécessaire de construire une communauté graphique, les concepts clés de l’algorithme, comment il fonctionne et comment créer votre propre graphe. De plus, l’auteur annonce une prochaine tâche de Bytexplorers et encourage les lecteurs à s’abonner pour obtenir les dernières mises à jour.
La plupart des cryptomonnaies d’aujourd’hui ont une interface utilisateur simple avec un classement des jetons de premier plan, triés par volume de transactions, liquidité, émission, points, votes, etc. Si nous voulons offrir une expérience de cryptomonnaie grand public qui dépasse les géants du Web2, notre application ne doit pas se limiter à un simple classement.
OpenRank est l’un des piliers qui nous aide à atteindre cet objectif et est déjà utilisé par Metamask Snaps, Degen Tips et Supercast. OpenRank est une couche de calcul qui peut exécuter plusieurs algorithmes de graphes de réputation, dont le premier est l’algorithme eigentrust.
Dans cet article, je vais vous présenter l’algorithme eigentrust d’OpenRank et discuter des points suivants :
L’importance de la construction communautaire graphique et pourquoi vous en avez besoin
Les concepts clés et le fonctionnement de cet algorithme
Comment créer votre propre graphique, en vous référant à un graphique que j’ai créé dans un cahier Python
Commençons!
Pourquoi construire un graphique de recommandation avec la communauté plutôt que de compter uniquement sur votre équipe d’apprentissage automatique ?
Lors de la construction d’algorithmes et de flux de recommandation dans la cryptomonnaie, vous serez rapidement confronté à certains problèmes de données :
· Les transactions comprennent de nombreuses opérations de différents niveaux.
Les relations entre les adresses peuvent devenir infiniment complexes par des transactions multiples.
· L’adresse elle-même contient une partie de l’identité, chaque identité étant pertinente dans différents contextes.
Tous ces trois points se développent à un rythme exponentiel, appelons ces éléments en croissance constante “contexte”.
Votre petite équipe de ML ne peut pas suivre ces idées sans fin
Vous ne voulez pas que votre équipe de backend ou d’ingénierie de données traite de ces problèmes, après tout, elle doit construire des produits. L’ère des applications avec des structures d’utilisateurs et de données d’utilisateurs est révolue. Vous n’avez plus seulement un simple lien, un ID utilisateur, des likes/réponses/partages et un ID de poste, mais vous pouvez avoir des échanges, des divisions, des chutes, des échanges, des dépôts, des délégations, des votes, des frappes, etc. Il y a presque chaque jour de nouvelles «opérations» qui apparaissent, ainsi que de nouvelles chaînes, de nouveaux types de portefeuilles, de nouveaux types d’identités, etc.
Je crois que dans l’année à venir, l’industrie de la cryptomonnaie développera une communauté scientifique des données graphiques basée sur le protocole et les produits OpenRank.
J’ai passé de nombreuses années dans la communauté wizard de Dune et j’ai été témoin de la puissance de la communauté, qui dépasse celle des petites équipes. J’ai également vu que presque toutes les petites équipes cryptographiques passent de “oui, nous pouvons tout faire avec un nœud et une base de données RDS” à “nous avons besoin d’outils de données construits par des communautés comme The Graph et Dune”. Pour moi, créer des combinaisons de requêtes et de graphiques recommandés pour des types spécifiques et ajustés à la communauté est un problème similaire. Nous devons commencer à collecter et à tester des graphiques qui peuvent fournir des flux de recommandations sur chaque application, du client Farcaster à l’explorateur de blocs.
Le concept d’un flux de recommandations est anachronique et sera éliminé. Les utilisateurs deviennent des conservateurs de contenu.
Dans le domaine des cryptomonnaies, les utilisateurs non seulement veulent emmener leurs graphiques sociaux dans différentes applications, mais ils veulent aussi emmener avec eux le contexte caché dans ces graphiques. Si je suis activement suivi la communauté /degen sur Farcaster, je veux être recommandé pour les activités de cette communauté sur Zora, Roam.xyz ou OnceUpon, et je veux pouvoir basculer cette recommandation vers le contexte d’une autre communauté à laquelle je participe, comme les collectionneurs d’artblocks. L’avenir sera l’époque où les utilisateurs découvriront et choisiront leur propre flux, au lieu de se limiter à une seule plateforme ou à une seule fonction de groupe ou de canal.
Comment fonctionne l’algorithme Eigentrust d’OpenRank ?
L’algorithme Eigentrust est similaire à PageRank, il classe les nœuds dans un réseau de graphes. La différence réside dans sa capacité à capturer des relations complexes de pair à pair en tant que distribution de confiance. Il a été initialement conçu pour attribuer des scores de confiance dans les réseaux de partage de fichiers. Dans le domaine des cryptomonnaies, on peut l’imaginer utilisé comme proxy pour des délégués de gouvernance de haute qualité ou pour identifier des contrats intelligents dignes de confiance.
Voici la formule d’Eigentrust :
Il y a deux entrées clés ci-dessus : les nœuds de confiance préétablis et le graphe de confiance local. “P” est votre confiance préétablie, “S” est votre confiance locale.
· Localtrust : il s’agit de la mesure de l’interaction entre deux nœuds lorsque le nœud “i” transmet une certaine valeur au nœud “j”. Il peut s’agir d’un transfert de jeton, d’une preuve, d’un vote en retour / d’un like, etc.
· Préconfiance (pretrust) : c’est le choix des « graines » des nœuds qui devraient être plus dignes de confiance dans votre réseau.
· “c”: Cette constante (entre 0 et 1) est le poids de la valeur de confiance entre le graphe de confiance global local et les graines de confiance préétablies. Les graphes interactifs ont généralement une distribution de loi de puissance, donc un poids de confiance préétabli plus élevé contribue à normaliser la distribution des valeurs de classement finales.
Si ces formules mathématiques ne sont pas très faciles à comprendre, on peut les comparer à un graphique social tel que Twitter, où l’influence des abonnés, des likes, des réponses, etc., est généralement concentrée sur un petit nombre de personnes, entraînant une dynamique de loi de puissance. En définissant un groupe de personnes influentes et en choisissant une constante « c » égale à 0,5 ou plus, en réalité, la moitié de la valeur de cette influence sera transmise aux personnes avec lesquelles ces personnes de confiance interagissent. C’est ainsi que l’on équilibre et distribue de manière plus uniforme les scores de confiance dans le réseau.
Quel est le rapport avec le choix de tout contexte et la création de tout flux de recommandation ?
Suppose you want to rank 10,000 funding proposals in a recommendation stream. Based on a set of voting interactions (local trust) and a set of trusted voters you choose (pre-trust), you can rank all voters and proposers by value. You can select your pre-trusted voters by selecting the top 10 voters you delegate to vote in multiple DAOs. Eigentrust will run based on these two inputs and give you a larger list of voters ranked in the graph according to the trust inherited from pre-trusted nodes.
De cette façon, vous pouvez maintenant utiliser cette liste de valeur de classement pour équilibrer les propositions de gouvernance en temps réel afin d’obtenir un flux de recommandations plus personnalisé !
Cela peut encore être trop abstrait, donc je vais expliquer à travers des exemples de code concrets dans la section suivante. Rappelez-vous, OpenRank gère le calcul et le stockage de ces graphiques Eigentrust, et vous recommande d’utiliser le flux de recommandation en sortie. Tout ce que vous avez à faire est de décider des entrées de préconfiance et de confiance locale.
Comment construire un graphe Eigentrust avec OpenRank ?
Objectif final
Dans cet exemple, je veux fournir un flux d’abonnement aux contrats recommandés pour le portefeuille utilisateur de Farcaster/base (Farcaster est une application similaire à Twitter). La sortie est simplement une liste contenant des ID et des valeurs, dans mon schéma, chaque ID est associé à un ID utilisateur Farcaster (fid).
Source de données
Après la création du graphique de classement, nous avons généré automatiquement ce flux de recommandation en fonction de leurs principaux contrats de la semaine dernière:
Source de données
Vous pouvez consulter le tableau de bord pour voir les autres flux recommandés créés à partir de ce graphique, tels que la création de Jetons non fongibles, les échanges de Jetons DEX et les activités du canal Farcaster.
Implémentation du code
Maintenant que vous avez vu l’objectif, parlons de la façon dont j’ai créé ce graphique de classement.
Tout le code de cet exemple peut être trouvé dans le notebook hex.tech, et si vous préférez l’exécuter localement, vous pouvez également utiliser Jupyter Notebook.
Tout d’abord, j’ai créé deux requêtes distinctes pour notre confiance anticipée et notre confiance locale :
La première requête concerne notre « nœud de confiance anticipée ». Cette requête, en fonction des interactions reçues (likes, partages, commentaires), renvoie les utilisateurs de haut niveau dans le canal /base. Ma formule est la suivante : (likes + 3 partages + 10 commentaires). Nous allons prendre les 100 premiers identifiants de cette requête comme nos nœuds de confiance.
Source de données
La deuxième requête est utilisée pour suivre les interactions off-chain entre les nœuds, à l’aide de l’adresse de liaison de l’utilisateur dans le canal /base. Étant donné que le flux d’abonnement recommandera des opérations hors chaîne, je veux m’assurer de choisir un graphique d’interaction basé sur le nombre d’interactions hors chaîne. L’utilisation de la valeur en dollars des transferts entre Nœud est une bonne approximation générique – j’ai suivi les transferts stablecoin et ETH sur Optimism, Base et Ethereum Mainnet.
Source de données
Analysez le graphique d’entrée et testez le graphique Eigentrust de sortie
Maintenant, avec les nœuds de confiance préalable et le graphe de confiance local, examinons quelques données statistiques récapitulatives. Dans le canal de base, 65 755 utilisateurs ont transféré des jetons à d’autres personnes dans ce canal. Notre nœud de confiance préalable peut parcourir 19 % du graphe (c’est-à-dire des nœuds connectés). Ce pourcentage peut varier en fonction du degré de sybilisation des données de confiance locale du graphe. Le transfert de jetons peut être un signal fort, mais il peut également s’agir de pratiques de balayage malveillant, il n’est donc pas surprenant que la plupart du graphe ne soit pas connectée.
Une fois que nous avons confirmé que la taille des données d’entrée et la connexion sont raisonnables, nous pouvons exécuter et enregistrer notre graphe Eigentrust. J’ai enregistré mon graphe en tant que id« base_transfer_50 »- vous pouvez voir ci-dessous que l’entraînement du graphe ne nécessite que 10 lignes de code. Vous pouvez considérer OpenRank SDK comme le scikit-learn des modèles de chiffrement de graphique.
Vous souvenez-vous de la constante “c” dans la formule précédente ? Faisons une recherche en grille avec différentes valeurs de c (que j’appelle alpha) et différentes tailles de graines de confiance pour voir laquelle peut nous donner le score de confiance logarithmique le plus élevé et le taux de couverture le plus élevé :
Il y a beaucoup de compromis ici, et il n’y a pas de valeur optimale à choisir. Si vous souhaitez recommander une forte diversité, une régularisation élevée et une couverture sont de bons choix, mais pour les votes de gouvernance à haut risque, vous voudrez peut-être en réalité une plus grande concentration de confiance. Vous pouvez utiliser votre intuition ici.
À partir d’ici, nous pouvons insérer des valeurs dans la requête d’abonnement liée au tableau de bord de Dune au démarrage pour obtenir le flux d’interaction contractuelle des utilisateurs de confiance dans le canal /base. Cette sortie subjective recommandée nous aide à mieux relier les indicateurs généraux précédents à nos attentes intuitives de qualité de la sortie recommandée.
C’est fait ! Vous pouvez utiliser cette API Dune dès maintenant pour alimenter toutes vos applications.
Apprendre à construire votre propre graphique OpenRank Eigentrust
Êtes-vous prêt à vous mettre au travail ? Vous pouvez forker mon ordinateur portable et essayer par vous-même, tous les liens nécessaires sont les suivants :
·OpenRank Docs
Dépôt Python SDK
·Carnet Python
Tableau de bord d’alimentation de Dune
Je vais lancer une mission Bytexplorers le mois prochain, où nous organiserons une compétition pour créer les meilleurs graphiques d’abonnement adaptés aux principales applications de chiffrement.