Le plus nouveau
Restez informé des dernières publications.
Publications
1677- DiscussionPourSuiMar 08, 2025
Retiré par erreur vers SUI au lieu d'APTOS, y a-t-il des options de récupération ?
Salut à tous, j'ai récemment effectué un retrait de Bybit et j'ai utilisé par erreur le réseau SUI au lieu d'APTOS. J'ai retiré des USDT vers un portefeuille SUI, mais celui-ci ne prend pas en charge l'USDT. J'ai déjà vérifié et il n'y a aucune activité récente. J'ai également confirmé que le retrait avait été traité par Bybit, mais le hachage de transaction dont je dispose n'est pas valide sur le réseau SUI. Malheureusement, cela signifie que mes actifs risquent d'être perdus. Existe-t-il un moyen de récupérer mes fonds ou est-ce que je n'ai pas de chance ?
- Sui
- Architecture
00 - DiscussionElvin CLONE 206PourSuiMar 08, 2025
Où acheter des $SUI dans l'État de New York ?
J'essaie de trouver où je peux acheter des dollars SUI alors que je suis basé dans l'État de New York. Quelqu'un pourrait-il m'aider à connaître les plateformes ou les échanges disponibles pour acheter des $ SUI ici ?
- Sui
00 - ArticlePourSuiMar 08, 2025
Sui Fam Officiel - 7 mars 2025
Sup Sui Fam, im Ed (chercheur et analyste en cryptographie) Je contribue à la Fondation Sui en tant que monteuse vidéo pour la communauté officielle Sui sur X Profitez des actualités et des alphas de cette semaine sur Sui ! Suivez la chaîne officielle Sui Fam sur X : https://x.com/SuiFamOfficial Mon profil X : https://x.com/EdCryptoFi
- Sui
0 L'appel au retrait sur MaticWeth déclenche-t-il des étapes automatiques ?
J'essaie de comprendre le processus au sein du réseau Polygon pour transférer les jetons MaticWeth vers le réseau Ethereum. Lorsque j'appelle la fonction de retrait sur un jeton comme MaticWeth, cela semble déclencher un événement de transfert vers l'adresse zéro. Cet événement lance-t-il automatiquement les premières étapes nécessaires pour relier le jeton à Ethereum, simplement parce que le jeton est déjà mappé ?
- MATIC
00- DiscussionPourSuiMar 08, 2025
L'USDT ne s'affiche pas après le passage de Sui à Ethereum
J'ai récemment transféré quelques USDT de mon portefeuille Sui vers Ethereum. Bien que je n'aie pas confirmé la transaction depuis mon portefeuille EVM, les USDT ont été retirés de Sui mais n'apparaissent pas dans mon portefeuille EVM. Pouvez-vous m'aider à résoudre ce problème ?
- Sui
- Architecture
02 - ArticlePourSuiMar 08, 2025
Cet article vise à apprendre et à comprendre le modèle #UTXO de $BTC à $SUI
Cet article a pour objectif d'apprendre et de comprendre le modèle UTXO. Il utilise un moyen facile à comprendre pour simplement trier les modèles UTXO et les méthodes de mise en œuvre de $BTC à $SUI. Je fournirai un aperçu complet, que nous développons ici pour plus de clarté et de profondeur, garantissant une analyse professionnelle et approfondie. En tant que l'un des principes de conception fondamentaux de Bitcoin, le modèle UTXO est devenu un paradigme technique important dans le domaine de la blockchain depuis sa naissance. Il joue un rôle important dans la garantie de la sécurité et de la traçabilité des transactions et offre une autre voie que le modèle traditionnel de solde des comptes. La technologie blockchain ayant été continuellement mise à jour et itérée ces dernières années, le modèle UTXO lui-même n'a cessé d'évoluer et de s'étendre. Présentation de l'UTXO et de ses origines Le modèle UTXO, ou Unspent Transaction Output, est un concept fondamental de Bitcoin, dans lequel chaque sortie de transaction qui n'a pas été dépensée est suivie sous forme d'UTXO. Ce modèle traite les transactions comme les espèces, où les dépenses impliquent la sélection d'UTXO spécifiques pour couvrir le montant, au lieu de modifier un solde unique. L'exemple : Alice et Bob commencent chacun avec 5 dollars. Dans le modèle de compte, si Bob vole 2 dollars à Alice, le solde d'Alice devient 3 et celui de Bob devient 7. Dans le modèle UTXO, l'UTXO de 5 dollars d'Alice est dépensé pour créer deux nouveaux UTXO : 2 dollars pour Bob et 3 dollars pour Alice, Bob tenant désormais son UTXO original à 5 dollars et le nouveau à 2 dollars, soit un total de 7 dollars. Cette approche, telle que détaillée dans Understanding UTXO : A Comprehensive Guide, garantit la transparence et empêche les doubles dépenses, chaque UTXO étant suivi publiquement en chaîne tout en préservant la confidentialité grâce à des adresses anonymes. Il n'est pas difficile de voir qu'Alice se retrouve avec 3 dollars et Bob avec 7 dollars. Cette méthode comptable, similaire à l'addition et à la soustraction des écoles primaires, apparaît fréquemment dans le système bancaire et est appelée modèle compte/solde. Dans celui-ci, le solde d'un compte existe sous la forme d'une valeur unique. Si une approche différente du modèle de compte est utilisée, telle que UTXO pour représenter le transfert de patrimoine entre Alice et Bob, le diagramme sera différent : Comparaison avec le modèle de compte/solde Le modèle compte/solde, courant dans le secteur bancaire, permet de maintenir un solde unique par compte, mis à jour à chaque transaction. Il est simple, mais soulève des problèmes de contention d'états lorsque plusieurs transactions modifient le même compte, ce qui nécessite souvent des blocages et entraîne des goulots d'étranglement au niveau des performances, en particulier en cas de volumes de transactions élevés. En revanche, le modèle UTXO, comme expliqué dans Exploration du modèle UTXO : qu'est-ce qui le distingue dans le monde de la blockchain ?, évite cela en traitant les transactions sur des systèmes UTXO indépendants, ce qui permet une exécution parallèle sans verrouillage, améliorant ainsi le débit et la simultanéité. La confidentialité est un autre avantage, les portefeuilles cryptographiques générant de nouvelles adresses par transaction, ce qui rend plus difficile la création de liens avec les individus, contrairement aux adresses fixes du modèle de compte, qui sont plus sensibles à l'analyse de corrélation. Cependant, les limites de l'UTXO dans la gestion de logiques commerciales complexes, telles que les contrats en plusieurs étapes, ont conduit au modèle basé sur les comptes d'Ethereum, comme indiqué dans Qu'est-ce qu'un UTXO ? Explication des résultats des transactions non dépensés. Modèle objet de SUI : relier les modèles UTXO et les modèles de compte SUI, comme détaillé dans l'article X et soutenu par Object Model | Sui Documentation, centre le stockage autour des objets, et non des comptes, avec deux types de clés :OwnedObject (appartenant à l'adresse) et SharedObject. L'OwnedObject a amélioré UTXO, où seul le propriétaire peut opérer, et chaque version est utilisée une seule fois, conformément aux principes d'UTXO. Par exemple, un objet appartenant à une adresse ne peut être modifié que par son propriétaire, comme si vous dépensiez un UTXO. SharedObject, à l'inverse, est accessible à tous, comme le modèle de compte, mais nécessite un consensus pour ordonner les lectures et les écritures, en résolvant les conflits d'état, comme indiqué dans Sui Components | Sui Documentation. Ceci est géré par un traitement spécial tel que le tri local. L' Approche orientée objet de Sui met en évidence l'impact du modèle de SUI sur l'évolutivité, la sécurité et l'expérience utilisateur. Types de propriété dans SUI | Type de propriété | Description | Accessibilité | --------| --------| -------- | Détenu par une adresse | Détenu par une adresse spécifique de 32 octets (adresse de compte ou identifiant d'objet) | Accessible uniquement à son propriétaire | Immuable | Ne peut pas être muté, transféré ou supprimé ; aucun propriétaire | Accessible à tous | Partagé | 0x2::transfer::share_objectFonction d'utilisation partagée | Accessible à tous | Enveloppé | Organise les structures de données en plaçant un champ de structtype dans un autre | Non spécifié Les objets détenus incluent les objets appartenant à l'adresse, conformément à UTXO, tandis que les objets partagés sont explicitement accessibles à tous, conformément à l'accès plus large du modèle de compte. Ma conclusion et mes considérations futures La transition du modèle objet UTXO de Bitcoin au modèle objet de SUI représente une évolution significative, offrant de la flexibilité et répondant aux limites d'UTXO en matière de logique complexe via SharedObject, tout en conservant les avantages de simultanéité d'UTXO via OwnedObject. Cette double approche, telle qu'explorée dans Exploring Sui's Object-Centric Model et le Move Programming Language, positionne SUI comme une plate-forme polyvalente, établissant potentiellement une nouvelle norme pour les modèles de données blockchain.
- Sui
- Architecture
- SDKs and Developer Tools
- Move
0 - DiscussionPourSuiMar 07, 2025
Pouvez-vous transférer des pièces SUI directement vers Ledger Stax ?
Je souhaite stocker mes pièces SUI sur un Ledger Stax. J'aimerais savoir s'il est possible de transférer directement des SUI d'un exchange ou d'un portefeuille SUI vers un Ledger Stax. Si c'est le cas, je prévois d'effectuer un virement. Quelqu'un a-t-il des informations sur le soutien actuel à ce processus ?
- Sui
01 - ArticlePourSuiMar 07, 2025
Développement d'un contrat de jeu de dés dans Sui Move
Dans ce tutoriel, je vais vous guider tout au long du processus de création d'uncontrat intelligent de jeu de désà l'aide de Sui Move. Ce contrat permet aux joueurs de parier surle résultat d'un lancer de dés, un administrateur gérant la cagnotte. À la fin, vous aurez un contrat pleinement fonctionnel et une solide compréhension de plusieurs concepts clés de Sui Move. Présentation Le contrat de jeu de dés que nous allons créer permet les fonctionnalités suivantes : Initialisation : le créateur du contrat configure le jeu. Gestion administrative : un administrateur peut déposer des jetons dans la cagnotte et les retirer si nécessaire. Interaction avec les joueurs : les joueurs participent en devinant le résultat du lancer de dés et en plaçant des paris. Ce didacticiel part du principe que vous avez une compréhension de base de Sui Move et se concentre sur l'introduction de nouveaux concepts par le biais d'une mise en œuvre pratique. Avant de plonger dans le code, explorons les concepts clés que vous allez rencontrer : 1.1 Ajouter des dépendances : Pour utiliser les jetons d'un autre contrat (par exemple, un contrat de jeton de robinet), vous devez l'ajouter en tant que dépendance dans votre projet. Cela se fait en mettant à jour le Move.tomldossier de votre contrat : [dependencies] coin_duck = { local = "../coin_duck"”} Ici, coin_duck est le contrat de jeton du robinet situé sur le chemin spécifié. Le contrat dépendant doit également spécifier son champ published-at dans son propre Move.toml avec l'ID de package obtenu lors de la publication, comme suit : rouille published-at = "packageId_from_publication" 1.2 Utiliser des assertions Les assertions garantissent que certaines conditions sont remplies lors de l'exécution du contrat. La assert!macro vérifie une condition et, en cas d'échec, renvoie une erreur et interrompt l'exécution. Cela est utile pour éviter les états non valides, tels que le fait de miser plus que le solde d'un joueur. 1.3 Génération de nombres aléatoires L'équité dans le jeu de dés repose sur la génération de nombres aléatoires. Sui Move fournit le randommodule à cette fin. Vous allez créer un RandomGeneratorobjet et l'utiliser pour générer un nombre aléatoire compris entre 1 et 6, simulant un lancer de dés. 1.4 Travailler avec Coin and Balance Dans Sui Move, lesjetonssont gérés à l'aide des modules de pièces et de solde : Pièce : enveloppe autour de Balance, utilisée pour transférer des jetons. Solde : représente le montant réel du jeton, permettant des opérations telles que le fractionnement et la fusion. Les principales méthodes sont les suivantes : coin : :value (in_coin) : renvoie la valeur totale d'un objet Coin. coin : :take (&mut balance, amount, ctx) : extrait un montant spécifié d'un solde pour créer une pièce. in_coin.balance_mut () .split (amount) : divise un montant spécifié du solde d'une pièce. balance.join (balance) : fusionne un solde avec un autre. Ces opérations seront utilisées pour gérer la cagnotte du jeu et les paris des joueurs. Le contrat du jeu de dés Voici le code complet du contrat du jeu de dés, suivi d'explications détaillées : /// Game: Dice rolling. Players bet and guess the number. If correct, they win an amount equal to their bet; if incorrect, the bet goes to the game pool. module game_duck:game_duck; use sui::balance::{Self, Balance}; use sui::coin::{Self, Coin}; use sui::random::{Random, new_generator, generate_u8_in_range}; use coin_duck::duckfaucet::DUCKFAUCET; const ErrorUserInsufficient: u64 = 0x101; const ErrorGameInsufficient: u64 = 0x102; public struct Game has key { id: UID, pool_amount: Balance, } public struct Admin has key { id: UID, } fun init(ctx: &mut TxContext) { let game = Game { id: object::new(ctx), pool_amount: balance::zero() }; transfer::share_object(game); let admin = Admin { id: object::new(ctx) }; transfer::transfer(admin, ctx.sender()); } public entry fun addCoinToGamePool(game: &mut Game, in_coin: &mut Coin, amount: u64, _: &mut TxContext) { let value = coin::value(in_coin); assert!(amount = amount, ErrorGameInsufficient); let coin = coin::take(&mut game.pool_amount, amount, ctx); transfer::public_transfer(coin, ctx.sender()); } entry fun play(game: &mut Game, random: &Random, guess_num: u8, in_coin: &mut Coin, amount: u64, ctx: &mut TxContext) { assert!(game.pool_amount.value() >= (amount * 3), ErrorGameInsufficient); assert!(in_coin.balance().value() >= amount, ErrorUserInsufficient); let mut g = new_generator(random, ctx); let win_num = generate_u8_in_range(&mut g, 1, 6); if (win_num == guess_num) { let reward_coin = coin::take(&mut game.pool_amount, amount, ctx); in_coin.join(reward_coin); } else { addCoinToGamePool(game, in_coin, amount, ctx); } } Structure de répartition du code Jeu : un objet partagé avec un identifiant unique et un pool_amount (Balance) pour stocker la cagnotte. Admin : objet clé appartenant à l'administrateur pour l'initialisation (init) gérant le pool. Initialisation (init) : Crée un objet de jeu avec une cagnotte vide et le partage publiquement. Crée un objet Admin et le transfère au créateur du contrat. Ajouter au pool (AddCoinToGamePool) Extrait un montant spécifié de l'in_coin de l'administrateur. Utilise assert ! pour s'assurer que la pièce a une valeur suffisante. Divise le montant du solde de in_coin et le fusionne dans le pool_amount du jeu. Résultat : Victoire : si l'estimation correspond au résultat, une récompense égale à la mise est prélevée sur le pool et fusionnée dans l'in_coin du joueur. Perdre : si elle est incorrecte, la mise est déduite de in_coin et ajoutée au pool via AddCoinToGamePool.
- Sui
- Move
1 Comment transférer Wormhole basé sur SUI vers une plateforme d'échange ?
J'essaie de transférer un Wormhole basé sur SUI depuis mon portefeuille Sui vers une autre plateforme d'échange. J'ai essayé d'échanger via Suivision, mais le glissement est trop important pour le moment. Existe-t-il des alternatives pour convertir ou transférer sans utiliser le processus Suivision Swap ?
- Sui
- Architecture
02- Questions et Réponses avec des ExpertsPourPeera MetaMar 06, 2025
Counter.sol introuvable dans les contrats Openzeppelin
lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2)
- discussion
- expert q&a
02