QR Coin 拍卖:在 Base 链上竞标二维码 URL - Openclaw Skills

作者:互联网

2026-03-26

AI教程

什么是 QR Coin 拍卖?

QR Coin 是 Base 区块链上的创新平台,用户通过竞拍将特定的 URL 编码到二维码中。此技能允许用户直接与 QR Coin 智能合约交互,提供了一种简化监控活跃拍卖和管理竞价策略的方法。通过利用 Openclaw Skills,开发人员和用户可以轻松处理 USDC 交易和合约调用的复杂性。

该技能的主要目的是民主化对 QR Coin 生态系统的访问。它促进了从查询当前代币 ID 和拍卖结束时间到执行复杂合约功能(如创建新报价或向现有报价注资)的所有操作。这使其成为任何希望以编程方式管理其在 qrcoin.fun 平台上存在感的人员的必备工具。

下载入口:https://github.com/openclaw/skills/tree/main/skills/ktaesthetix/qrcoin

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install qrcoin

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 qrcoin。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

QR Coin 拍卖 应用场景

  • 通过在 Base 主网上竞标 USDC 参与每日二维码拍卖。
  • 自动监控拍卖结束时间,确保在截止日期前出价。
  • 管理 QR 拍卖合约的 USDC 授权,实现无缝竞价。
  • 扩大对现有 URL 的出价贡献,以保持最高出价者地位。
  • 获取实时保留价格数据以优化竞标成本。
QR Coin 拍卖 工作原理
  1. 该技能首先查询 currentTokenId 以识别 Base 区块链上当前活跃的拍卖。
  2. 它获取拍卖状态,包括结束时间以及新报价或现有报价当前的 USDC 保留要求。
  3. 通过 Bankr 等交易提供商处理一次性 USDC 授权,允许拍卖合约支出必要资金。
  4. 根据用户意图,该技能执行用于新 URL 的 createBid 或用于支持现有条目的 contributeToBid。
  5. 拍卖完成后,最高出价者的 URL 将被编码,同时该技能可帮助用户跟踪其 QR 代币奖励或退款。

QR Coin 拍卖 配置指南

要在 Openclaw Skills 生态系统中使用此技能,请确保您的环境已安装 curljq 以进行 RPC 交互。

检查您的依赖项:

# 验证安装
curl --version
jq --version

在出价之前,您必须通过交易提示授权 QR 拍卖合约代表您支出 USDC:

# USDC 授权示例提示
在 Base 上授权 50 USDC 给 0x7309779122069EFa06ef71a45AE0DB55A259A176

QR Coin 拍卖 数据架构与分类体系

该技能与 Base 主网上的特定智能合约交互,以组织拍卖数据和元数据。参考以下架构:

合约类型 地址
QR 拍卖合约 0x7309779122069EFa06ef71a45AE0DB55A259A176
USDC 代币 (Base) 0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913

函数结果从十六进制解析为十进制或 USDC 单位(6 位小数),以便在 Openclaw Skills 中清晰报告。

name: qrcoin
description: Interact with QR Coin auctions on Base. Use when the user wants to participate in qrcoin.fun QR code auctions — check auction status, view current bids, create new bids, or contribute to existing bids. QR Coin lets you bid to display URLs on QR codes; the highest bidder's URL gets encoded.
metadata: {"clawdbot":{"emoji":"??","homepage":"https://qrcoin.fun","requires":{"bins":["curl","jq"]}}}

QR Coin Auction

Participate in QR Coin auctions on Base blockchain. QR Coin lets you bid to display URLs on QR codes — the highest bidder's URL gets encoded when the auction ends.

Contracts (Base Mainnet)

Contract Address
QR Auction 0x7309779122069EFa06ef71a45AE0DB55A259A176
USDC 0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913

How It Works

  1. Each auction runs for a fixed period (~24h)
  2. Bidders submit URLs with USDC (6 decimals — 1 USDC = 1000000 units)
  3. Creating a new bid costs ~11.11 USDC (createBidReserve)
  4. Contributing to an existing bid costs ~1.00 USDC (contributeReserve)
  5. Highest bid wins; winner's URL is encoded in the QR code
  6. Losers get refunded; winners receive QR tokens

Auction Status Queries

Note: The examples below use https://mainnet.base.org (public RPC). You can substitute your own RPC endpoint if preferred.

Get Current Token ID

Always query this first to get the active auction ID before bidding.

curl -s -X POST https://mainnet.base.org r
  -H "Content-Type: application/json" r
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x7d9f6db5"},"latest"],"id":1}' r
  | jq -r '.result' | xargs printf "%d
"

Get Auction End Time

# First get the current token ID, then use it here
TOKEN_ID=329  # Replace with result from currentTokenId()
TOKEN_ID_HEX=$(printf '%064x' $TOKEN_ID)

curl -s -X POST https://mainnet.base.org r
  -H "Content-Type: application/json" r
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xa4d0a17e'"$TOKEN_ID_HEX"'"},"latest"],"id":1}' r
  | jq -r '.result' | xargs printf "%d
"

Get Reserve Prices

# Create bid reserve (~11.11 USDC)
curl -s -X POST https://mainnet.base.org r
  -H "Content-Type: application/json" r
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x5b3bec22"},"latest"],"id":1}' r
  | jq -r '.result' | xargs printf "%d
" | awk '{print $1/1000000 " USDC"}'

# Contribute reserve (~1.00 USDC)
curl -s -X POST https://mainnet.base.org r
  -H "Content-Type: application/json" r
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xda5a5cf3"},"latest"],"id":1}' r
  | jq -r '.result' | xargs printf "%d
" | awk '{print $1/1000000 " USDC"}'

Transactions via Bankr

QR Coin auctions require USDC transactions on Base. Use Bankr to execute these — Bankr handles:

  • Function signature parsing and parameter encoding
  • Gas estimation
  • Transaction signing and submission
  • Confirmation monitoring

Step 1: Approve USDC (One-Time)

Before bidding, approve the auction contract to spend USDC:

Approve 50 USDC to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base

Step 2: Create a New Bid

To start a new bid for your URL:

Function: createBid(uint256 tokenId, string url, string name) Contract: 0x7309779122069EFa06ef71a45AE0DB55A259A176 Cost: ~11.11 USDC

Important: Always query currentTokenId() first to get the active auction ID.

Example prompt for Bankr:

Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling createBid(329, "https://example.com", "MyName")

Step 3: Contribute to Existing Bid

To add funds to an existing URL's bid:

Function: contributeToBid(uint256 tokenId, string url, string name) Contract: 0x7309779122069EFa06ef71a45AE0DB55A259A176 Cost: ~1.00 USDC per contribution

Example prompt for Bankr:

Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling contributeToBid(329, "https://grokipedia.com/page/debtreliefbot", "MerkleMoltBot")

Function Selectors

Function Selector Parameters
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

Error Codes

Error Meaning Solution
RESERVE_PRICE_NOT_MET Bid amount below minimum Check reserve prices
URL_ALREADY_HAS_BID URL already has a bid Use contributeToBid instead
BID_NOT_FOUND URL doesn't have existing bid Use createBid instead
AUCTION_OVER Current auction has ended Wait for next auction
AUCTION_NOT_STARTED Auction hasn't begun Wait for auction to start
INSUFFICIENT_ALLOWANCE USDC not approved Approve USDC first

Typical Workflow

  1. Query currentTokenId() — Get the active auction ID
  2. Check auction status — Verify time remaining
  3. Approve USDC — One-time approval for the auction contract
  4. Decide action:
    • New URL: Use createBid (~11.11 USDC)
    • Support existing URL: Use contributeToBid (~1.00 USDC)
  5. Monitor — Watch for outbids and contribute more if needed
  6. Claim — Winners receive QR tokens; losers get refunds
  • Platform: https://qrcoin.fun
  • Auction Contract: BaseScan
  • USDC on Base: BaseScan

Tips

  • Start small: Contribute to existing bids (~1 USDC) to learn the flow
  • Check timing: Auctions have fixed end times; plan accordingly
  • Monitor bids: Others can outbid you; watch the auction
  • Use Bankr: Let Bankr handle transaction signing and execution
  • Specify Base: Always include "on Base" when using Bankr

?? Pro Tip: Contributing to an existing bid is cheaper than creating a new one. Check if someone already bid for your URL before creating a new bid.