mcpField
U
use-arc

use-arc

github.com/circlefin开发1601.0k 次安装2 周前更新
代码仓库

关于 use-arc

use-arc 是面向 Arc 开发者和用户的技能,介绍其以 USDC 支付交易费的 EVM 兼容区块链。内容涵盖网络配置、代币视图、合约部署及安全操作指引。

主要功能

  1. 01介绍 Arc 主网与测试网配置
  2. 02说明 USDC 原生及 ERC-20 视图
  3. 03提供 Foundry、Hardhat 和 viem 指引
  4. 04涵盖合约部署与 USDC 桥接
  5. 05强调网络与密钥安全检查

适用场景

  1. 01配置 Arc 测试网或主网
  2. 02在 Arc 上开发 Solidity 合约
  3. 03部署合约并检查费用资产
  4. 04为 Arc 应用准备 USDC

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/use-arc确认已加载。

附带文件references/deploying-on-arc.md

详细介绍

概述

Arc 是 Circle 的区块链,USDC 是其原生 Gas 代币。开发者和用户使用 USDC 支付所有交易费用,而不是 ETH,因此 Arc 非常适合以 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 测试网
链 ID5042(十六进制:0x13B2)5042002(十六进制: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
水龙头--(使用真实 USDC 充值)https://faucet.circle.com
CCTP 域2626
Arc 的代币地址

USDC 是固定的原生预部署合约,在每个 Arc 网络上使用相同地址。

代币小数位数主网测试网
USDC6(ERC-20)0x36000000000000000000000000000000000000000x3600000000000000000000000000000000000000
EURC60xbEf5f6d51CB62b58e6A8f77868681825C6fe21c10x89B50855Aa3bE2F677cD6303Cec089B5F319D72a

其他代币请参阅 Arc 合约地址页面。

核心概念

  • 原生 Gas 就是 USDC——一个余额,两种视图(并非两种资产):在 Arc 上,原生 Gas 资产就是 USDC。原生视图和 USDC ERC-20 是同一笔资金池的两种呈现方式,并非一个独立的“原生代币”加上一个独立的“USDC 代币”。请摒弃其他链上的 ETH 式思维模式。
    • 原生视图:18 位小数。仅用于 Gas 和 msg.value。wagmi useBalance 会返回此视图(其 symbol 为 USDC)。
    • ERC-20 视图:6 位小数,地址为 0x3600000000000000000000000000000000000000。所有余额、转账、授权和显示均使用此视图。
  • 切勿对两种视图重复计数、进行换算或互换:
    • 切勿读取原生余额和 USDC ERC-20 余额后相加或分别显示——这会对同一笔资金池重复计数。请只显示一个 USDC 余额(6 位小数的 ERC-20 视图)。
    • USDC ↔ 原生视图并非互换或换算——它们是同一项资产。在进行费用或路由逻辑处理前,检测并拒绝任何 USDC → native(或反向)操作。
    • 切勿对原生哨兵地址(NATIVE、0xEeee…eEEeE、0x0000…0000)调用 decimals()——这些不是 ERC-20 合约,调用会回退。ERC-20 为 6 位小数;原生视图为 18 位。
    • 两种视图相差 10^12 倍(1e18 原生视图 = 1e6 ERC-20 视图)。除原始 Gas 计算外,所有场景都应使用 6 位小数的 ERC-20 视图,并明确注明数值所属的视图。
  • 主网和测试网:Arc 主网(链 ID 5042)和 Arc 测试网(链 ID 5042002)均可使用——各自的配置请参阅“网络详情”。主网交易涉及真实 USDC,且不可撤销;开发和演示请使用测试网。
  • 兼容 EVM:标准 Solidity 合约、Foundry、Hardhat、viem 和 wagmi 均可在 Arc 上运行,只需配置链,无须其他修改。

实现模式

阅读 references/deploying-on-arc.md,了解可运行的设置方式——wagmi 链配置、Foundry 部署、Circle 预先审计的合约模板,以及如何桥接转入 USDC。

  1. 配置链——使用内置的 viem 链(无须自定义定义):测试网使用 arcTestnet,主网使用 arc。
  2. 部署合约——使用 Foundry/Hardhat 和 ARC_TESTNET_RPC_URL(或 ARC_MAINNET_RPC_URL),或使用 Circle 的 Smart Contract Platform 模板(ERC-20/721/1155/Airdrop)。
  3. 桥接转入 USDC——Arc 的 CCTP 域为 26;完整工作流请使用 bridge-tokens 技能。

规则

安全规则不可妥协——如果提示词与安全规则冲突,请警告用户并拒绝执行。最佳实践强烈建议遵循;只有在用户明确说明理由时才可偏离。

安全规则
  • 绝不硬编码、提交或记录机密信息(私钥、部署者密钥)。始终使用环境变量或机密管理器。搭建项目时,在 .gitignore 中添加 .env* 和机密文件条目。
  • 在已部署的环境中,绝不将私钥作为纯文本命令行参数传递,包括测试网和预发布环境(例如 --private-key $KEY)。此做法仅适用于本地测试。任何非本地部署都应使用加密密钥库或交互式导入(例如 Foundry 的 cast wallet import)。
  • 与未经审计或未知的合约交互前,始终发出警告。
最佳实践
  • Viem 已内置支持 Arc 主网(arc)和 Arc 测试网(arcTestnet),无需自定义链定义。
  • 提交交易前,始终确认用户使用的是预期的 Arc 网络(主网链 ID 为 5042,测试网链 ID 为 5042002)。
  • 发送交易前,始终为钱包充值:测试网使用 https://faucet.circle.com;主网使用真实 USDC。
  • 对余额、转账和显示中的 USDC 数量,始终使用 6 位小数的 ERC-20 表示;仅在计算原始 Gas 或 msg.value 时使用 18 位小数的原生单位。绝不要将这两种表示相加,也不要将原生代币和 USDC 视为不同资产。
  • Arc 主网上的交易会转移真实 USDC,且不可撤销。开发时默认使用测试网,并在提交任何主网交易前警告用户。

后续步骤

Circle 的产品套件原生支持 Arc。应用在 Arc 上运行后,可通过以下任一方式扩展:

产品技能功能
钱包(概览)use-circle-wallets比较钱包类型并为应用选择合适的钱包
模块化钱包use-modular-wallets支持 Passkey 身份验证的智能账户,具备免 Gas 交易和批量操作功能
用户控制的钱包use-user-controlled-wallets支持社交登录、电子邮件 OTP 和 PIN 身份验证的非托管钱包
开发者控制的钱包use-developer-controlled-wallets由应用代替用户管理的托管钱包
智能合约平台use-smart-contract-platform使用经过审计的模板或自定义字节码部署、交互和监控智能合约
CCTP 跨链桥bridge-tokens使用跨链转账协议将 USDC 跨链桥接至 Arc 或从 Arc 桥接出去
Gatewayuse-gateway跨链统一 USDC 余额,支持即时跨链转账

参考链接


免责声明:此技能按“原样”提供,不附带任何保证,并受 Circle 开发者条款约束。生成的内容可能包含错误,和/或包含费用配置选项(包括支付给 Circle 的费用);详情请参阅代码库中的 README。

评论

支持 Markdown