Oyun Kitabı

BareNFTAucure : réclamation, remboursement et pouvoirs d'urgence (Barenftaucure Reclamation Remboursement Et Pouvoirs Durgence)

Enchères britanniques : offre, réclamation, annulation, retour sous réserve et compromis de transfert d'urgence du propriétaire/transferFunds.

Protocole de marché Bare Crypto Solidity

Partie 4 de 5

BareNFT sans Hardhat/Foundry avec Remix IDE et OpenZeppelin v4.1 Importations GitHub, réserve, enchères au Royaume-Uni et architecture d'émission BareToken contrôlée par NFT ; ADR, faible RNG et compromis entre les autorités d’urgence.

Bare Crypto Solidity marketplace protocol diagram

Fin des enchères ; l'argent et le NFT (Non-Fungible Token) doivent être réglés en même temps

BareNFTAuction propose des enchères gérées par le propriétaire : dans le dépôt NFT, l'enchère revient immédiatement au maxBidder précédent, ClaimTokenFromAuctionByTokenId distribue NFT et ETH selon la règle de réserve à la fin. CancelAuctionByTokenId rembourse l'enchère maximale et gèle le NFT au vendeur. Le transfert d'urgence/transferFunds est toujours avec le propriétaire - récupération et passage par la même porte.```text Owner escrow NFT → createNewAuction(endBlock, reserve, id, start) | bid() > maxBid ── refund previous maxBidder | endBlock reached | claim: maxBid < reserve? refund + NFT→seller else ETH→seller, NFT→maxBidder | cancel / emergency transfer*


## Concepts à la première mention```text
📦 English auction
Acik artan teklif; her yeni bid onceki lideri gecer ve iade tetikler.

📦 Reserve price
Max bid rezervin altindaysa satis olmaz; NFT seller'a, bid iade.

📦 Claim settlement
Bitiste seller veya maxBidder'in NFT/ETH dagitimini cagirmasi.

📦 Push refund
Yeni bid geldiginde onceki maxBidder'a aninda ETH iadesi.
```Le remboursement push simplifie l'UX mais peut verrouiller l'intégralité de l'enchère en cas d'échec d'un appel ; Le paiement par tirage est un ADR alternatif.

## ADR : enchères anglaises créées par le propriétaire

Décision : createNewAuction uniquement propriétaire ; endBlock > bloc.numéro ; Il n'y en a pas de nouveau pour le même tokenId jusqu'à la fin de l'enchère précédente. Raison : Bare Crypto gère ses enchères vitrines avec le calendrier de l'opérateur. Prix : pas d’enchères sans autorisation du vendeur ; setTokenContract et setOwner sont également dans le propriétaire — la surface du protocole dépend de la clé de l'opérateur.

## Enchérir, réclamer, annuler le flux

vérifie l'offre, StartingBid et maxBid ; Renvoie le maxBidder précédent avec call{value}, puis met à jour maxBid/maxBidder. ClaimTokenFromAuctionByTokenId : maxBidder ou vendeur NFT ; Si maxBid < réserve + retour au vendeur NFT ; sinon ETH au vendeur, NFT à maxBidder. annuler, rembourser + NFT de retour en vente aux enchères ouverte. Ces trois méthodes tentent de protéger l'invariant « argent et NFT simultanément » du séquestre.```text
bid → refund old leader → set new leader
claim:
  no bid → NFT seller
  below reserve → refund + NFT seller
  else → pay seller + NFT winner
cancel → refund leader + NFT seller
```## Échec : remboursement bloqué, deuil, urgence

Si le soumissionnaire précédent annule un contrat et le reçoit, la nouvelle offre reste bloquée avec l'exigence (succès) – le vecteur de deuil. Même si seller.call échoue dans la réclamation, le code peut comporter le risque de poursuivre le transfert NFT (le contrôle de réussite peut manquer du côté eth). Emergency transferNft retire le NFT sans attendre une réclamation ; maxBidder ETH peut rester bloqué dans le contrat. Performance : chaque offre est poussée vers le tableau Bid[] ; Un long historique d'enchères augmente la visibilité sur le gaz et le stockage.

## Les confrontations les plus déroutantes de cet épisode```text
❌ Ingiliz artirmasi = herkes auction acabilir
✓ Bu implementasyonda createNewAuction owner-only'dir

❌ Reserve altindaki bid otomatik yanar
✓ Claim yolunda maxBidder'a iade edilir; NFT seller'a doner

❌ Emergency NFT cekmek bid'leri de temizler
✓ transferNft ETH iadesini otomatik yapmaz; fonlar kontrata sikisabilir

Liste de contrôle de votre propre système

  1. Qui peut appeler Claim – juste maxBidder ou torrents aussi ?
  2. Qu'arrive-t-il à la nouvelle offre si l'enchérisseur précédent reçoit une annulation ?
  3. Quel statut l'interface utilisateur affiche-t-elle après une réclamation sous Réserve ?
  4. Quelle est la différence entre l'annulation et le transfert d'urgenceNFT pour les fonds ?
  5. Dans quelle mesure l'historique de Bid[] peut-il croître ? Y a-t-il une limite de vue ?

Choses à retenir de cette section

  1. BareNFTAucure est une vente aux enchères anglaise + réclamation/retour gérée par le propriétaire.
  2. La facilité du remboursement push UX entraîne le risque de problèmes et d'offres bloquées ensemble.
  3. Le retrait d’urgence du NFT ne règle pas automatiquement le côté ETH.

Le blog de fin ne suffit pas dans la vente aux enchères ; Un chemin de réclamation qui se ferme simultanément pour l'argent et le NFT est requis.

FAQ

Frequently asked questions

Qu’est-ce que les enchères anglaises ?

Ouvrir une offre croissante ; Chaque nouvelle offre dépasse le leader précédent et déclenche un retour.

Qu'est-ce que le prix de réserve ?

Si l’enchère maximale est inférieure à la réserve, il n’y aura pas de vente ; Au vendeur NFT, remboursement de l'offre.

Est-il vrai que « enchères anglaises = n'importe qui peut ouvrir une vente aux enchères » ?

Dans cette implémentation, createNewAuction est réservé au propriétaire

Que corrige cette section ?

Cette section corrige le cycle de vie de l'escalade, les voies de réclamation/remboursement et le compromis ADR des pouvoirs d'urgence. BareNFTAuction propose des enchères gérées par le propriétaire : dans le dépôt NFT, l'enchère revient immédiatement au maxBidder précédent, ClaimTokenFromAuctionByTokenId distribue NFT et ETH selon la règle de réserve à la fin. CancelAuctionByTokenId rembourse l'enchère maximale et gèle le NFT au vendeur. Le transfert d'urgence/transferFunds est toujours avec le propriétaire - récupération et passage par la même porte.

Principes d'ingénierie appris

  • L'ADR d'enchères doit écrire ensemble l'autorité de création, la règle de réserve et le modèle de retour.
  • Si le remboursement push est sélectionné, les alternatives de deuil et de paiement pull doivent être documentées.
  • Les sorties d’urgence NFT/ETH doivent être conçues sans rompre l’invariant de réclamation.

Continuer la lecture

Continuer la lecture

Suivant en série

Suivant en série

Même série

Paylaş