关于 use-arc
use-arc 是面向 Arc 开发者和用户的技能,介绍其以 USDC 支付交易费的 EVM 兼容区块链。内容涵盖网络配置、代币视图、合约部署及安全操作指引。
主要功能
- 01介绍 Arc 主网与测试网配置
- 02说明 USDC 原生及 ERC-20 视图
- 03提供 Foundry、Hardhat 和 viem 指引
- 04涵盖合约部署与 USDC 桥接
- 05强调网络与密钥安全检查
适用场景
- 01配置 Arc 测试网或主网
- 02在 Arc 上开发 Solidity 合约
- 03部署合约并检查费用资产
- 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 测试网 |
|---|---|---|
| 链 ID | 5042(十六进制:0x13B2) | 5042002(十六进制:0x4CEF52) |
| RPC | https://rpc.mainnet.arc.io | https://rpc.testnet.arc.io |
| WebSocket | wss://rpc.mainnet.arc.io | wss://rpc.testnet.arc.io |
| 浏览器 | https://explorer.arc.io | https://explorer.testnet.arc.io |
| 水龙头 | --(使用真实 USDC 充值) | https://faucet.circle.com |
| CCTP 域 | 26 | 26 |
Arc 的代币地址
USDC 是固定的原生预部署合约,在每个 Arc 网络上使用相同地址。
| 代币 | 小数位数 | 主网 | 测试网 |
|---|---|---|---|
| USDC | 6(ERC-20) | 0x3600000000000000000000000000000000000000 | 0x3600000000000000000000000000000000000000 |
| EURC | 6 | 0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1 | 0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a |
其他代币请参阅 Arc 合约地址页面。
核心概念
- 原生 Gas 就是 USDC——一个余额,两种视图(并非两种资产):在 Arc 上,原生 Gas 资产就是 USDC。原生视图和 USDC ERC-20 是同一笔资金池的两种呈现方式,并非一个独立的“原生代币”加上一个独立的“USDC 代币”。请摒弃其他链上的 ETH 式思维模式。
- 原生视图:18 位小数。仅用于 Gas 和
msg.value。wagmiuseBalance会返回此视图(其symbol为USDC)。 - ERC-20 视图:6 位小数,地址为
0x3600000000000000000000000000000000000000。所有余额、转账、授权和显示均使用此视图。
- 原生视图:18 位小数。仅用于 Gas 和
- 切勿对两种视图重复计数、进行换算或互换:
- 切勿读取原生余额和 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原生视图 =1e6ERC-20 视图)。除原始 Gas 计算外,所有场景都应使用 6 位小数的 ERC-20 视图,并明确注明数值所属的视图。
- 主网和测试网:Arc 主网(链 ID
5042)和 Arc 测试网(链 ID5042002)均可使用——各自的配置请参阅“网络详情”。主网交易涉及真实 USDC,且不可撤销;开发和演示请使用测试网。 - 兼容 EVM:标准 Solidity 合约、Foundry、Hardhat、viem 和 wagmi 均可在 Arc 上运行,只需配置链,无须其他修改。
实现模式
阅读 references/deploying-on-arc.md,了解可运行的设置方式——wagmi 链配置、Foundry 部署、Circle 预先审计的合约模板,以及如何桥接转入 USDC。
- 配置链——使用内置的 viem 链(无须自定义定义):测试网使用
arcTestnet,主网使用arc。 - 部署合约——使用 Foundry/Hardhat 和
ARC_TESTNET_RPC_URL(或ARC_MAINNET_RPC_URL),或使用 Circle 的 Smart Contract Platform 模板(ERC-20/721/1155/Airdrop)。 - 桥接转入 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 桥接出去 |
| Gateway | use-gateway | 跨链统一 USDC 余额,支持即时跨链转账 |
参考链接
- Arc 文档 —— 查找来源网站的相关文档时,请始终先阅读此文档。
- Arc 浏览器(主网)
- Arc 浏览器(测试网)
- Circle 水龙头
- Circle 开发者文档 —— 查找来源网站的相关文档时,请始终先阅读此文档。
免责声明:此技能按“原样”提供,不附带任何保证,并受 Circle 开发者条款约束。生成的内容可能包含错误,和/或包含费用配置选项(包括支付给 Circle 的费用);详情请参阅代码库中的 README。
评论
支持 Markdown