qrcoin について
QR Coin Auctionは、Base上のオークションに参加し、URLをQRコードに掲載するためのスキルです。Bankrを使ったUSDCの承認、入札、追加拠出、受け取りの手順と、オークション状況の確認方法を説明します。
主な機能
- 01開催中のオークションと終了時刻の照会
- 02入札の最低準備額の確認
- 03USDCによるURL入札の作成
- 04既存入札への追加拠出
- 05返金と落札者の受け取り手順
活用シーン
- 01入札前のオークション状況確認
- 02新しいURLの入札
- 03既存URLの入札への追加支援
- 04終了まで入札状況を追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bankrbot/ skills --skill qrcoinインストール後、Claude Code で/qrcoinを入力して読み込まれたか確認します。
同梱ファイルcatalog.json
詳細
QR Coin オークション
Base ブロックチェーン上のQR Coinオークションに参加しましょう。QR Coin では、URL を QR コードに表示するために入札できます。オークション終了時に、最高額入札者の URL がエンコードされます。
コントラクト(Base メインネット)
| コントラクト | アドレス |
|---|---|
| QR Auction | 0x7309779122069EFa06ef71a45AE0DB55A259A176 |
| USDC | 0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913 |
仕組み
- 各オークションは一定期間(約24時間)開催されます
- 入札者は USDC(小数点以下6桁。1 USDC = 1000000 単位)を使って URL を送信します
- 新しい入札の作成には約11.11 USDC(createBidReserve)が必要です
- 既存の入札への追加には約1.00 USDC(contributeReserve)が必要です
- 最高額の入札が落札となり、落札者の URL が QR コードにエンコードされます
- 落札できなかった場合は返金され、落札者は QR トークンを受け取ります
オークション状況の照会
注: 以下の例では
https://mainnet.base.org(公開 RPC)を使用しています。必要に応じて、ご自身の RPC エンドポイントに置き換えられます。
現在のトークン ID を取得
入札する前に必ず最初に照会し、開催中のオークション 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":"0x7d9f6db5"},"latest"],"id":1}' \
| jq -r '.result' | xargs printf "%d\n"
オークション終了時刻を取得
# 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 \
-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"
最低入札価格を取得
# Create bid reserve (~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"}'
# Contribute reserve (~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"}'
Bankr 経由のトランザクション
QR Coin のオークションでは、Base 上での USDC トランザクションが必要です。これらの実行には Bankr を使用してください。Bankr は以下を処理します。
- 関数シグネチャの解析とパラメーターのエンコード
- ガスの見積もり
- トランザクションの署名と送信
- 承認状況の監視
ステップ 1:USDC を承認する(初回のみ)
入札の前に、オークションコントラクトによる USDC の使用を承認してください。
Approve 50 USDC to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
ステップ 2:新しい入札を作成する
URL の新しい入札を開始するには:
関数: createBid(uint256 tokenId, string url, string name)
コントラクト: 0x7309779122069EFa06ef71a45AE0DB55A259A176
費用: 約11.11 USDC
重要: 開催中のオークション ID を取得するため、必ず最初に
currentTokenId()を照会してください。
Bankr 用のプロンプト例:
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling createBid(329, "https://example.com", "MyName")
ステップ 3:既存の入札に追加する
既存の URL の入札に資金を追加するには:
関数: contributeToBid(uint256 tokenId, string url, string name)
コントラクト: 0x7309779122069EFa06ef71a45AE0DB55A259A176
費用: 追加1回につき約1.00 USDC
Bankr 用のプロンプト例:
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling contributeToBid(329, "https://grokipedia.com/page/debtreliefbot", "MerkleMoltBot")
関数セレクター
| 関数 | セレクター | パラメーター |
|---|---|---|
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 |
エラーコード
| エラー | 意味 | 解決方法 |
|---|---|---|
RESERVE_PRICE_NOT_MET | 入札額が最低額を下回っています | 最低入札価格を確認してください |
URL_ALREADY_HAS_BID | その URL にはすでに入札があります | 代わりに contributeToBid を使用してください |
BID_NOT_FOUND | その URL に既存の入札がありません | 代わりに createBid を使用してください |
AUCTION_OVER | 現在のオークションは終了しています | 次のオークションをお待ちください |
AUCTION_NOT_STARTED | オークションはまだ開始していません | オークションの開始をお待ちください |
INSUFFICIENT_ALLOWANCE | USDC が承認されていません | 先に USDC を承認してください |
一般的なワークフロー
currentTokenId()を照会する — 開催中のオークション ID を取得します- オークション状況を確認する — 残り時間を確認します
- USDC を承認する — オークションコントラクトへの承認は初回のみ必要です
- 操作を決める:
- 新しい URL:
createBidを使用します(約11.11 USDC) - 既存の URL を支援:
contributeToBidを使用します(約1.00 USDC)
- 新しい URL:
- 監視する — 入札を上回られていないか確認し、必要に応じて追加します
- 請求する — 落札者は QR トークンを受け取り、落札できなかった場合は返金されます
リンク
- プラットフォーム: https://qrcoin.fun
- オークションコントラクト: BaseScan
- Base 上の USDC: BaseScan
ヒント
- 少額から始める:既存の入札(約1 USDC)に参加して、流れを把握しましょう
- タイミングを確認する:オークションの終了時刻は決まっているため、それに合わせて計画しましょう
- 入札を確認する:ほかの人があなたを上回る入札をすることがあるため、オークションを見守りましょう
- Bankr を使う:トランザクションの署名と実行は Bankr に任せましょう
- Base を指定する:Bankr を使うときは、必ず「on Base」を含めましょう
💡 プロのヒント:新しい入札を作成するより、既存の入札に参加するほうが安価です。新しい入札を作成する前に、あなたの URL に対する入札がすでにあるか確認しましょう。