Playbook

BareNFTAuction: Reclamación, Reembolso y Poderes de Emergencia (Barenftauction Reclamacion Reembolso Y Poderes DE Emergencia)

Subasta británica: oferta, reclamación, cancelación, devolución bajo reserva y transferencia de emergencia del propietario. Compensaciones entre Nft y transferencia de fondos.

Protocolo de mercado de solidez criptográfica desnuda

Parte 4 de 5

BareNFT sin Hardhat/Foundry con Remix IDE y OpenZeppelin v4.1 Importaciones de GitHub, reserva, subasta en el Reino Unido y arquitectura de emisión BareToken controlada por NFT; ADR, RNG débil y compensaciones de autoridad de emergencia.

Bare Crypto Solidity marketplace protocol diagram

Finaliza la puja; el dinero y el NFT (Token no fungible) deben liquidarse al mismo tiempo

BareNFTAuction ofrece una subasta operada por el propietario: en el depósito en garantía de NFT, la oferta regresa inmediatamente al maxBidder anterior, ClaimTokenFromAuctionByTokenId distribuye NFT y ETH de acuerdo con la regla de reserva al final. cancelAuctionByTokenId reembolsa la oferta máxima y congela el NFT para el vendedor. Transferencia de emergenciaNft/transferFunds todavía está en manos del propietario: recuperación y alfombra por la misma puerta.```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*


## Conceptos en la primera mención```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.
```El reembolso push simplifica la experiencia de usuario, pero puede bloquear toda la oferta en caso de una llamada fallida; El pago pull es un ADR alternativo.

## ADR: subasta en inglés creada por el propietario

Decisión: crear propietario único de NewAuction; endBlock > bloque.número; No hay uno nuevo para el mismo tokenId hasta que finalice la subasta anterior. Motivo: Bare Crypto gestiona sus subastas de exhibición con el calendario del operador. Precio: sin subasta de vendedores sin permiso; setTokenContract y setOwner también están en el propietario: la superficie del protocolo depende de la clave del operador.

## Ofertar, reclamar, cancelar flujo

verifica la oferta, la oferta inicial y la oferta máxima; Devuelve el maxBidder anterior con call{value}, luego actualiza maxBid/maxBidder. ClaimTokenFromAuctionByTokenId: maxBidder o vendedor de NFT; Si maxBid <reservar + devolver al vendedor de NFT; de lo contrario, ETH al vendedor, NFT a maxBidder. cancelar, reembolsar + NFT nuevamente en subasta abierta. Estas tres formas intentan proteger la invariante del depósito en garantía "dinero y NFT simultáneamente".```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
```## Fracaso: reembolso atascado, duelo, emergencia

Si el postor anterior revierte un contrato y lo recibe, la nueva oferta se queda con el requisito (éxito), el vector de duelo. Incluso si seller.call falla en el reclamo, el código puede conllevar el riesgo de continuar con la transferencia NFT (es posible que falte control de éxito en el lado ético). Transferencia de emergenciaNft retira el NFT sin esperar un reclamo; maxBidder ETH puede permanecer bloqueado en el contrato. Rendimiento: cada oferta pasa a la matriz Bid[]; La larga historia de subastas aumenta la visión del gas y el almacenamiento.

## Los enfrentamientos más confusos de este episodio.```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

Lista de verificación de su propio sistema

  1. ¿Quién puede llamar a Claim? ¿Solo maxBidder o también torrents?
  2. ¿Qué sucede con la nueva oferta si el postor anterior recibe una reversa?
  3. ¿Qué estado muestra el UI después de reclamar bajo Reserva?
  4. ¿Cuál es la diferencia entre cancelación y transferencia de emergencia NFT de fondos?
  5. ¿Cuánto puede crecer el historial de ofertas[]? ¿Existe un límite de visualización?

Cosas para recordar de esta sección

  1. BareNFTAuction es una subasta en inglés + reclamo/devolución operada por el propietario.
  2. La facilidad de la experiencia de usuario de reembolso push conlleva el riesgo de que se produzcan problemas y ofertas estancadas.
  3. El retiro de emergencia de NFT no liquida automáticamente el lado de ETH.

El blog final no alcanza en la subasta; Se requiere una ruta de reclamo que se cierre simultáneamente para dinero y NFT.

FAQ

Frequently asked questions

¿Qué es la subasta inglesa?

Abrir oferta creciente; Cada nueva oferta supera al líder anterior y genera una devolución.

¿Qué es el precio de reserva?

Si la oferta máxima está por debajo de la reserva, no habrá venta; Al vendedor de NFT, reembolso de la oferta.

¿Es cierto que "subasta inglesa = cualquiera puede abrir una subasta"?

En esta implementación, createNewAuction es solo para propietarios.

¿Qué soluciona esta sección?

Esta sección fija el ciclo de vida de escalada, las vías de reclamación/reembolso y la compensación ADR de los poderes de emergencia. BareNFTAuction ofrece una subasta operada por el propietario: en el depósito en garantía de NFT, la oferta regresa inmediatamente al maxBidder anterior, ClaimTokenFromAuctionByTokenId distribuye NFT y ETH de acuerdo con la regla de reserva al final. cancelAuctionByTokenId reembolsa la oferta máxima y congela el NFT para el vendedor. Transferencia de emergenciaNft/transferFunds todavía está en manos del propietario: recuperación y alfombra por la misma puerta.

Principios de ingeniería aprendidos

  • El ADR de subasta debe escribir la autoridad de creación, la regla de reserva y el modelo de devolución juntos.
  • Si se selecciona el reembolso push, se deben documentar las alternativas de duelo y pago pull.
  • Las salidas de emergencia de NFT/ETH deben diseñarse sin romper la invariante de reclamación.

Continuar leyendo

Continuar leyendo

Siguiente en la serie

Siguiente en la serie

Misma serie

ENSAYO

BareNFT: Roles, Pausable y Token URI

BareNFT ofrece mint (a, id, uri) controlado por roles con ERC721 Enumerable/Burnable/Pausable y AccessControl. URI por token y compensaciones de pausa.

Paylaş