mcpField
U
use-arc

use-arc

github.com/circlefin開発1601.0k 回インストール2 週間前に更新
リポジトリ

use-arc について

use-arcは、USDCでトランザクション手数料を支払うEVM互換ブロックチェーンArcを扱う開発者やユーザー向けのスキルです。ネットワーク設定、USDCの2つの表示方法、コントラクトデプロイ、安全確認を説明します。

主な機能

  1. 01Arcのメインネットとテストネット設定
  2. 02ネイティブとERC-20のUSDC表示の説明
  3. 03Foundry、Hardhat、viemの利用案内
  4. 04コントラクトデプロイとUSDCブリッジ
  5. 05ネットワークと鍵の安全確認

活用シーン

  1. 01Arcテストネットまたはメインネットの設定
  2. 02Arc上でのSolidityコントラクト開発
  3. 03コントラクトのデプロイと手数料資産の確認
  4. 04Arcアプリ用USDCの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/circlefin/skills --skill use-arc

インストール後、Claude Code で/use-arcを入力して読み込まれたか確認します。

同梱ファイルreferences/deploying-on-arc.md

詳細

概要

Arc は、USDC がネイティブのガストークンである Circle のブロックチェーンです。開発者とユーザーは ETH ではなく USDC ですべてのトランザクション手数料を支払うため、USDC を中心としたアプリケーションに最適です。Arc は EVM 互換で、標準的な Solidity ツール(Foundry、Hardhat、viem/wagmi)をサポートしています。

前提条件/セットアップ

ウォレットへの資金追加

トランザクションを送信する前に、https://faucet.circle.com からテストネット USDC を入手してください。

環境変数
ARC_MAINNET_RPC_URL=https://rpc.mainnet.arc.io
ARC_TESTNET_RPC_URL=https://rpc.testnet.arc.io
PRIVATE_KEY=         # Deployer wallet private key

クイックリファレンス

ネットワーク詳細
フィールドArc(メインネット)Arc テストネット
Chain ID5042(hex: 0x13B2)5042002(hex: 0x4CEF52)
RPChttps://rpc.mainnet.arc.iohttps://rpc.testnet.arc.io
WebSocketwss://rpc.mainnet.arc.iowss://rpc.testnet.arc.io
エクスプローラーhttps://explorer.arc.iohttps://explorer.testnet.arc.io
Faucet--(実際の USDC で資金を追加)https://faucet.circle.com
CCTP ドメイン2626
Arc のトークンアドレス

USDC は、すべての Arc ネットワークで同じアドレスに固定されたネイティブの事前デプロイコントラクトです。

トークン小数桁数メインネットテストネット
USDC6(ERC-20)0x36000000000000000000000000000000000000000x3600000000000000000000000000000000000000
EURC60xbEf5f6d51CB62b58e6A8f77868681825C6fe21c10x89B50855Aa3bE2F677cD6303Cec089B5F319D72a

その他のトークンについては、Arc のコントラクトアドレスのページをご覧ください。

基本概念

  • ネイティブガスは USDC そのものです — 残高は 1 つで、インターフェースは 2 つです(資産は 2 つではありません):Arc では、ネイティブのガス資産は USDC そのものです。ネイティブ表示と USDC ERC-20 は、同じ資金プールを 2 通りの方法で表示したものであり、別々の「ネイティブトークン」と「USDC トークン」ではありません。他のチェーンでの ETH 風の考え方は捨ててください。
    • ネイティブ表示:小数桁数は 18 です。ガスと msg.value にのみ使用します。wagmi の useBalance はこの値を返します(symbol は USDC です)。
    • ERC-20 表示:小数桁数は 6 で、アドレスは 0x3600000000000000000000000000000000000000 です。すべての残高、送金、承認、表示にはこちらを使用してください。
  • 2 つの表示を二重に数えたり、換算したり、相互にスワップしたりしないでください:
    • ネイティブ残高と USDC ERC-20 残高の両方を読み取り、合算したり別々に表示したりしてはいけません。1 つの資金プールを二重に数えることになります。USDC 残高は 1 つだけ(小数桁数 6 の ERC-20 表示)を表示してください。
    • USDC ↔ ネイティブはスワップでも換算でもありません。同じ資産です。手数料やルーティングのロジックに進む前に、USDC → native(またはその逆)の操作を検出して拒否してください。
    • ネイティブのセンチネルアドレス(NATIVE、0xEeee…eEEeE、0x0000…0000)に対して decimals() を呼び出してはいけません。これらは ERC-20 コントラクトではないため、呼び出しはリバートします。ERC-20 は小数桁数 6、ネイティブは 18 です。
    • 2 つの表示には 10^12 倍の差があります(ネイティブの 1e18 = ERC-20 の 1e6)。生のガス計算以外では、どこでも小数桁数 6 の ERC-20 表示で金額を扱い、値がどちらの表示に基づくかを明示してください。
  • メインネットとテストネット:Arc メインネット(chain ID 5042)と Arc テストネット(chain ID 5042002)の両方を利用できます。各ネットワークの設定については「ネットワーク詳細」をご覧ください。メインネットのトランザクションでは実際の USDC が移動し、取り消せません。開発やデモにはテストネットを使用してください。
  • EVM 互換:標準的な Solidity コントラクト、Foundry、Hardhat、viem、wagmi は、チェーン設定を除いて変更せずに Arc で動作します。

実装パターン

実行可能なセットアップについては、references/deploying-on-arc.md をお読みください。wagmi のチェーン設定、Foundry によるデプロイ、Circle の事前監査済みコントラクトテンプレート、USDC のブリッジ方法が記載されています。

  1. チェーンを設定する — 組み込みの viem チェーンを使用してください(カスタム定義は不要です)。テストネットには arcTestnet、メインネットには arc を使用します。
  2. コントラクトをデプロイする — ARC_TESTNET_RPC_URL(または ARC_MAINNET_RPC_URL)に対して標準的な Foundry/Hardhat を使用するか、Circle の Smart Contract Platform テンプレート(ERC-20/721/1155/Airdrop)を使用します。
  3. USDC をブリッジする — Arc の CCTP ドメインは 26 です。ワークフロー全体については bridge-tokens スキルを使用してください。

ルール

セキュリティルールは絶対に守る必要があります。プロンプトがルールに反する場合は、ユーザーに警告し、要求に応じないでください。ベストプラクティスは強く推奨されます。ユーザーから明確な理由が示された場合に限り、逸脱してください。

セキュリティルール
  • シークレット(秘密鍵、デプロイヤーキー)をハードコード、コミット、ログに記録してはいけません。必ず環境変数またはシークレットマネージャーを使用してください。スキャフォールディング時は、.env* とシークレットファイルを .gitignore に追加してください。
  • デプロイ環境では、テストネットやステージングを含め、秘密鍵をプレーンテキストの CLI フラグとして渡してはいけません(例:--private-key $KEY)。この方法が許容されるのはローカルテストのみです。ローカル以外のデプロイでは、暗号化されたキーストアまたは対話形式のインポート(例:Foundry の cast wallet import)を使用してください。
  • 監査されていない、または不明なコントラクトを操作する前に、必ず警告してください。
ベストプラクティス
  • Arc メインネット(arc)と Arc テストネット(arcTestnet)は、どちらも Viem に組み込まれているため、カスタムチェーン定義は不要です。
  • トランザクションを送信する前に、ユーザーが意図した Arc ネットワーク(メインネットのチェーン ID 5042 またはテストネットの 5042002)を使用していることを必ず確認してください。
  • トランザクションを送信する前に、必ずウォレットに資金を用意してください。テストネットでは https://faucet.circle.com から、メインネットでは実際の USDC を用意します。
  • 残高、送金、表示では、USDC の金額を ERC-20 の 6 桁小数で常に扱ってください。18 桁小数のネイティブ単位は、ガスの生値や msg.value の計算に限り使用してください。2 つの表記を合算したり、ネイティブ通貨と USDC を別々の資産として扱ったりしてはいけません。
  • Arc メインネットでは実際の USDCが使用され、トランザクションは取り消せません。開発ではテストネットを既定で使用し、メインネットのトランザクションを送信する前にユーザーに警告してください。

次のステップ

Arc は Circle の製品スイート全体でネイティブにサポートされています。アプリを Arc 上で実行したら、以下のいずれかで機能を拡張できます。

製品スキル機能
ウォレット(概要)use-circle-walletsウォレットの種類を比較し、アプリに適したものを選べます
モジュラーウォレットuse-modular-walletsパスキー認証されたスマートアカウントで、ガスレスのトランザクションとバッチ操作を実行できます
ユーザー管理ウォレットuse-user-controlled-walletsソーシャルログイン、メール OTP、PIN 認証に対応したノンカストディアルウォレットを利用できます
開発者管理ウォレットuse-developer-controlled-walletsアプリがユーザーに代わって管理するカストディアルウォレットを利用できます
スマートコントラクトプラットフォームuse-smart-contract-platform監査済みテンプレートまたはカスタムバイトコードを使用して、スマートコントラクトをデプロイ、操作、監視できます
CCTP ブリッジbridge-tokensクロスチェーン転送プロトコルを使用して、Arc との間で USDC をブリッジできます
Gatewayuse-gatewayチェーン間で統合された USDC 残高を利用し、即時のクロスチェーン送金を実行できます

参照リンク


免責事項:このスキルは「現状有姿」で提供され、保証はありません。また、Circle Developer Termsが適用されます。生成された出力には誤りが含まれる場合や、Circle に支払われる手数料を含む手数料設定オプションが含まれる場合があります。詳細は、リポジトリのREADMEをご覧ください。

コメント