Enchère QR Coin
Participez aux enchères QR Coin sur la blockchain Base. QR Coin vous permet d'enchérir pour afficher des URLs sur des codes QR — l'URL du plus offrant est encodée quand l'enchère se termine.
Contrats (Base Mainnet)
| Contrat | Adresse |
|---|---|
| QR Auction | 0x7309779122069EFa06ef71a45AE0DB55A259A176 |
| USDC | 0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913 |
Fonctionnement
- Chaque enchère s'exécute pendant une période fixe (~24h)
- Les enchérisseurs soumettent des URLs avec de l'USDC (6 décimales — 1 USDC = 1000000 unités)
- Créer une nouvelle enchère coûte ~11,11 USDC (createBidReserve)
- Contribuer à une enchère existante coûte ~1,00 USDC (contributeReserve)
- L'enchère la plus élevée gagne ; l'URL du gagnant est encodée dans le code QR
- Les perdants sont remboursés ; les gagnants reçoivent des tokens QR
Requêtes sur le statut de l'enchère
Note : Les exemples ci-dessous utilisent
https://mainnet.base.org(RPC public). Vous pouvez substituer votre propre endpoint RPC si préféré.
Obtenir l'ID du token courant
Interrogez toujours ceci en premier pour obtenir l'ID de l'enchère active avant d'enchérir.
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x7d9f6db5"},"latest"],"id":1}' \
| jq -r '.result' | xargs printf "%d\n"
Obtenir l'heure de fin de l'enchère
# D'abord obtenir l'ID du token courant, puis l'utiliser ici
TOKEN_ID=329 # Remplacer par le résultat de currentTokenId()
TOKEN_ID_HEX=$(printf '%064x' $TOKEN_ID)
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xa4d0a17e'"$TOKEN_ID_HEX"'"},"latest"],"id":1}' \
| jq -r '.result' | xargs printf "%d\n"
Obtenir les prix de réserve
# Réserve pour créer une enchère (~11,11 USDC)
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x5b3bec22"},"latest"],"id":1}' \
| jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'
# Réserve pour contribuer (~1,00 USDC)
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xda5a5cf3"},"latest"],"id":1}' \
| jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'
Transactions via Bankr
Les enchères QR Coin nécessitent des transactions USDC sur Base. Utilisez Bankr pour les exécuter — Bankr gère :
- L'analyse de la signature de fonction et l'encodage des paramètres
- L'estimation du gas
- La signature et la soumission des transactions
- La surveillance de la confirmation
Étape 1 : Approuver l'USDC (Une seule fois)
Avant d'enchérir, approuvez le contrat d'enchère pour dépenser l'USDC :
Approve 50 USDC to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
Étape 2 : Créer une nouvelle enchère
Pour démarrer une nouvelle enchère pour votre URL :
Fonction : createBid(uint256 tokenId, string url, string name)
Contrat : 0x7309779122069EFa06ef71a45AE0DB55A259A176
Coût : ~11,11 USDC
Important : Interrogez toujours
currentTokenId()en premier pour obtenir l'ID de l'enchère active.
Exemple de prompt pour Bankr :
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling createBid(329, "https://example.com", "MyName")
Étape 3 : Contribuer à une enchère existante
Pour ajouter des fonds à l'enchère d'une URL existante :
Fonction : contributeToBid(uint256 tokenId, string url, string name)
Contrat : 0x7309779122069EFa06ef71a45AE0DB55A259A176
Coût : ~1,00 USDC par contribution
Exemple de prompt pour Bankr :
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling contributeToBid(329, "https://grokipedia.com/page/debtreliefbot", "MerkleMoltBot")
Sélecteurs de fonction
| Fonction | Sélecteur | Paramètres |
|---|---|---|
currentTokenId() |
0x7d9f6db5 |
— |
auctionEndTime(uint256) |
0xa4d0a17e |
tokenId |
createBidReserve() |
0x5b3bec22 |
— |
contributeReserve() |
0xda5a5cf3 |
— |
createBid(uint256,string,string) |
0xf7842286 |
tokenId, url, name |
contributeToBid(uint256,string,string) |
0x7ce28d02 |
tokenId, url, name |
approve(address,uint256) |
0x095ea7b3 |
spender, amount |
Codes d'erreur
| Erreur | Signification | Solution |
|---|---|---|
RESERVE_PRICE_NOT_MET |
Montant d'enchère inférieur au minimum | Vérifier les prix de réserve |
URL_ALREADY_HAS_BID |
L'URL a déjà une enchère | Utiliser contributeToBid à la place |
BID_NOT_FOUND |
L'URL n'a pas d'enchère existante | Utiliser createBid à la place |
AUCTION_OVER |
L'enchère actuelle est terminée | Attendre la prochaine enchère |
AUCTION_NOT_STARTED |
L'enchère n'a pas commencé | Attendre le début de l'enchère |
INSUFFICIENT_ALLOWANCE |
USDC non approuvé | Approuver l'USDC en premier |
Flux de travail typique
- Interroger
currentTokenId()— Obtenir l'ID de l'enchère active - Vérifier le statut de l'enchère — Confirmer le temps restant
- Approuver l'USDC — Approbation unique pour le contrat d'enchère
- Décider l'action :
- Nouvelle URL : Utiliser
createBid(~11,11 USDC) - Soutenir une URL existante : Utiliser
contributeToBid(~1,00 USDC)
- Nouvelle URL : Utiliser
- Surveiller — Guetter les surenchères et contribuer davantage si nécessaire
- Réclamer — Les gagnants reçoivent des tokens QR ; les perdants sont remboursés
Liens
- Plateforme : https://qrcoin.fun
- Contrat d'enchère : BaseScan
- USDC sur Base : BaseScan
Conseils
- Commencer petit : Contribuer à des enchères existantes (~1 USDC) pour apprendre le flux
- Vérifier le timing : Les enchères ont des heures de fin fixes ; planifier en conséquence
- Surveiller les enchères : D'autres peuvent vous surenchérir ; surveiller l'enchère
- Utiliser Bankr : Laisser Bankr gérer la signature et l'exécution des transactions
- Spécifier Base : Toujours inclure "on Base" quand vous utilisez Bankr
💡 Conseil pro : Contribuer à une enchère existante est moins cher que d'en créer une nouvelle. Vérifier si quelqu'un a déjà enchéri pour votre URL avant de créer une nouvelle enchère.