mcpField
Q
qrcoin

qrcoin

github.com/bankrbotその他1.2k204 回インストール5 日前に更新
リポジトリ

qrcoin について

QR Coin Auctionは、Base上のオークションに参加し、URLをQRコードに掲載するためのスキルです。Bankrを使ったUSDCの承認、入札、追加拠出、受け取りの手順と、オークション状況の確認方法を説明します。

主な機能

  1. 01開催中のオークションと終了時刻の照会
  2. 02入札の最低準備額の確認
  3. 03USDCによるURL入札の作成
  4. 04既存入札への追加拠出
  5. 05返金と落札者の受け取り手順

活用シーン

  1. 01入札前のオークション状況確認
  2. 02新しいURLの入札
  3. 03既存URLの入札への追加支援
  4. 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 Auction0x7309779122069EFa06ef71a45AE0DB55A259A176
USDC0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913

仕組み

  1. 各オークションは一定期間(約24時間)開催されます
  2. 入札者は USDC(小数点以下6桁。1 USDC = 1000000 単位)を使って URL を送信します
  3. 新しい入札の作成には約11.11 USDC(createBidReserve)が必要です
  4. 既存の入札への追加には約1.00 USDC(contributeReserve)が必要です
  5. 最高額の入札が落札となり、落札者の URL が QR コードにエンコードされます
  6. 落札できなかった場合は返金され、落札者は 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)0xa4d0a17etokenId
createBidReserve()0x5b3bec22—
contributeReserve()0xda5a5cf3—
createBid(uint256,string,string)0xf7842286tokenId, url, name
contributeToBid(uint256,string,string)0x7ce28d02tokenId, url, name
approve(address,uint256)0x095ea7b3spender, amount

エラーコード

エラー意味解決方法
RESERVE_PRICE_NOT_MET入札額が最低額を下回っています最低入札価格を確認してください
URL_ALREADY_HAS_BIDその URL にはすでに入札があります代わりに contributeToBid を使用してください
BID_NOT_FOUNDその URL に既存の入札がありません代わりに createBid を使用してください
AUCTION_OVER現在のオークションは終了しています次のオークションをお待ちください
AUCTION_NOT_STARTEDオークションはまだ開始していませんオークションの開始をお待ちください
INSUFFICIENT_ALLOWANCEUSDC が承認されていません先に USDC を承認してください

一般的なワークフロー

  1. currentTokenId() を照会する — 開催中のオークション ID を取得します
  2. オークション状況を確認する — 残り時間を確認します
  3. USDC を承認する — オークションコントラクトへの承認は初回のみ必要です
  4. 操作を決める:
    • 新しい URL:createBid を使用します(約11.11 USDC)
    • 既存の URL を支援:contributeToBid を使用します(約1.00 USDC)
  5. 監視する — 入札を上回られていないか確認し、必要に応じて追加します
  6. 請求する — 落札者は QR トークンを受け取り、落札できなかった場合は返金されます

リンク

ヒント

  • 少額から始める:既存の入札(約1 USDC)に参加して、流れを把握しましょう
  • タイミングを確認する:オークションの終了時刻は決まっているため、それに合わせて計画しましょう
  • 入札を確認する:ほかの人があなたを上回る入札をすることがあるため、オークションを見守りましょう
  • Bankr を使う:トランザクションの署名と実行は Bankr に任せましょう
  • Base を指定する:Bankr を使うときは、必ず「on Base」を含めましょう

💡 プロのヒント:新しい入札を作成するより、既存の入札に参加するほうが安価です。新しい入札を作成する前に、あなたの URL に対する入札がすでにあるか確認しましょう。

コメント