Playbook

BareToken: NFT (Non-Fungible Token)-gated Emissionen und Missbrauch (Baretoken Nft Gated Emissionen Und Missbrauch)

Hashmasks-artige NFT-gated Claims: ~10e18/Tag, INITIAL_ALLOTMENT, 10-Jahres-emissionEnd — plus offene Mint-Flaeche und Missbrauchsszenarien.

Bare Crypto Solidity Marketplace-Protokoll

Teil 5 von 5

BareNFT, Reserve-Escrow, englische Auktion und NFT-gated BareToken-Emissionen in Remix IDE mit OpenZeppelin-v4.1-GitHub-Imports — ohne Hardhat/Foundry — inkl. ADRs, schwacher RNG und Notfall-Trade-offs.

Bare Crypto Solidity marketplace protocol diagram

NFT (Non-Fungible Token) halten, taegliche Emission claimen — aber sind die Tueren zu?

BareToken ist eine Hashmasks-artige ERC20-Emissions-Engine: emissionPerDay etwa 10 * 10^18, INITIAL_ALLOTMENT 1830e18, emissionEnd = start + 10 Jahre. claim(tokenIndices) mintet akkumulierte Salden nur an BareNFT-Owner; _lastClaim trackt jede tokenId. Doch oeffentliches mint(address, value), verworrene Spender/Burner-Rollen und ein burn auf address(this) oeffnen die Oekonomie fuer Missbrauch.

BareNFT ownerOf(tokenId) == msg.sender
        |
   accumulated(tokenId)
     lastClaim → now * emissionPerDay / day
     + INITIAL_ALLOTMENT (first claim)
        |
   claim([ids]) → _mint ERC20
        |
   abuse doors: public mint(), role confusion, burn quirk

Dieser Teil fixiert den NFT-gated-Emissions-ADR, den 10-Jahres-Horizont und Missbrauchsszenarien.

Begriffe, dort definiert, wo sie zuerst auftauchen

📦 NFT-gated Emission
ERC20-Claim-Rechte an ERC721-Besitz binden.

📦 INITIAL_ALLOTMENT
Fester Bonus beim ersten Claim (1830e18), optional per Pre-Reveal skaliert.

📦 emissionEnd
start + 86400*365*10 — zehnjaehriger Emissionshorizont.

📦 Per-Token lastClaim
Jeder NFT-Index traegt seine eigene Emissionsuhr.

Ein Hashmasks-Modell haengt Cashflow an das NFT; oeffentliches Mint oder falsche Rolle zerbricht die Oekonomie in einer Transaktion.

ADR: Hashmasks-artige 10-Jahres-Emission

Entscheidung: BareToken akkumuliert etwa 10e18 pro Tag fuer NFT-Holder, mintet bei Claim, addiert INITIAL_ALLOTMENT beim ersten Claim und endet nach 10 Jahren. Begruendung: Holding-Anreiz und lange Supply-Kurve. Kosten: enge Bindung an BareNFT-Adresse (setBareAddress einmal) und Ownership-Checks; IBareToken.isMintedBeforeReveal wird auf der Collection-Seite erwartet.

Claim-Buchhaltung und Diagramm

accumulated multipliziert Sekunden zwischen lastClaim (oder emissionStart) und jetzt mit emissionPerDay / SECONDS_IN_A_DAY; nach emissionEnd null. Erster Claim addiert INITIAL_ALLOTMENT (+ PRE_REVEAL_MULTIPLIER). claim prueft Duplikate und ownerOf, aktualisiert _lastClaim und mintet die Summe.

emissionStart ──10y──> emissionEnd
per NFT:
  lastClaim[i]
     |
     v
  qty = dt * 10e18 / 86400
     + (first ? 1830e18 : 0)
claim(ids) → mint to holder

Missbrauchs- und Performance-Szenarien

Oeffentliches mint(to, value) kann Supply ohne Rollenpruefung aufblaehen — Emissionsmodell sofort kaputt. isSpender liest MINTER_ROLE, _addSpender schreibt BURNER_ROLE — verworrene Semantik. burn setzt account auf address(this) — verbrennt nicht die Caller-Balance wie erwartet. Missbrauch: Flash-Acquire-Claim-Sell im selben Block kann akkumulierten Wert abschoepfen oder UI-Annahmen zu lastClaim brechen. Performance: grosse tokenIndices plus O(n^2)-Duplikatchecks bloehen Claim-Gas; Whale-Batch-Claims naehern sich Block-Limits.

Die am häufigsten verwechselten Zuordnungen

❌ NFT-gated Claim bedeutet sichere Supply
✓ Bei oeffentlichem Mint oder falschen Rollen rettet Gating die Oekonomie nicht

❌ INITIAL_ALLOTMENT kommt bei jedem Claim
✓ Nur einmal, wenn lastClaim gleich emissionStart ist

❌ burn verbrennt immer msg.sender-Balance
✓ Hier wird account auf address(this) umgebogen — quirky und gefaehrlich

Checkliste zur Prüfung des eigenen Systems

  1. Wer darf mint(address, value) aufrufen, gibt es eine Rolle?
  2. Ist setBareAddress einmalig gesperrt oder aenderbar?
  3. Wie zeigt die UI INITIAL_ALLOTMENT beim ersten Claim?
  4. Wie beeinflusst Buy-Claim-Sell im selben Block lastClaim?
  5. Was kostet die Duplikatpruefung bei grossen tokenIndices-Claims an Gas?

Was aus diesem Teil bleiben sollte

  1. BareToken ist ein Hashmasks-artiger NFT-gated Tagesemissions-ADR mit 10-Jahres-Horizont.
  2. Oeffentliches Mint und Rollen/Burn-Quirks bedeuten: Gating allein sichert die Oekonomie nicht.
  3. Claim-Gas und Flash-Ownership-Missbrauch gehoeren in die Emissions-Design-Tests.

Gated Emissionen sind eine Geschichte; eine offene Mint-Tuer beendet sie in einer Transaktion.

FAQ

Häufige Fragen

Was ist NFT-gated Emission?

ERC20-Claim-Rechte an ERC721-Besitz binden.

Was ist INITIAL_ALLOTMENT?

Fester Bonus beim ersten Claim (1830e18), optional per Pre-Reveal skaliert.

Stimmt es, dass „NFT-gated Claim bedeutet sichere Supply“?

Bei oeffentlichem Mint oder falschen Rollen rettet Gating die Oekonomie nicht

Was legt dieser Teil fest?

Dieser Teil fixiert den NFT-gated-Emissions-ADR, den 10-Jahres-Horizont und Missbrauchsszenarien. BareToken ist eine Hashmasks-artige ERC20-Emissions-Engine: emissionPerDay etwa 10 * 10^18, INITIAL_ALLOTMENT 1830e18, emissionEnd = start + 10 Jahre. claim(tokenIndices) mintet akkumulierte Salden nur an BareNFT-Owner; _lastClaim trackt jede tokenId. Doch oeffentliches mint(address, value), verworrene Spender/Burner-Rollen und ein burn auf address(this) oeffnen die Oekonomie fuer Missbrauch.

Gelernte Engineering-Prinzipien

  • NFT-gated-Emissions-ADR muss Mint/Burn/Rollen im selben Bedrohungsmodell abdecken.
  • Initial Allotment und Tagesrate muessen in UI und On-Chain-Buchhaltung dieselbe Formel nutzen.
  • Claim-Batch-Groesse und Ownership-Flash-Szenarien als Performance- und Missbrauchstests schreiben.

Weiterlesen

Weiterlesen

Nachster Teil der Serie

Aus derselben Serie

Aus derselben Serie

Paylaş