前提条件
- 已安装 Foundry(
forge、cast和anvil在 PATH 中可用) - 一个你拥有私钥的钱包(全新的测试密钥即可——切勿使用持有真实资金的密钥进行测试)
- 能够连接到测试网 RPC 和水龙头的网络
1. 创建新的 Foundry 项目
运行以下命令创建一个新项目:src/ 目录中创建一个示例 Counter.sol 合约及对应的测试文件。你将直接部署该合约——目标是将真实内容上链,而不是编写新的 Solidity 代码。
2. 查看待部署的合约
打开 src/Counter.sol,它包含两个函数:number 是存储在链上的公共状态变量。increment() 和 setNumber() 是修改它的两种方式。读取 number 不消耗 gas——这是一次免费的 eth_call。
3. 配置 Stable 测试网
在项目根目录创建名为 .env 的文件以存储网络凭据:[profile.default] 部分下方追加以下内容:
stable_testnet 时将交易发送到哪里。Stable 兼容 EVM,无需其他配置。
检查点: 确认 RPC 端点可达:
2201 是 Stable 测试网。如果看到此数字,说明你的机器可以访问该网络。
4. 获取钱包地址
从私钥派生部署者地址,以便知道要充值哪个账户:5. 为钱包充值 USDT0
Stable 使用 USDT0 作为 gas 代币——你用于支付商品和服务的同一资产,直接用于支付计算费用。没有其他原生代币。 访问测试网水龙头并申请资金:检查点: 确认余额已到账:
0,等待几秒后重试——Stable 大约每 0.7 秒产生一个新区块,资金到账很快。
6. 部署合约
使用forge create 进行部署:
检查点: 输出应如下所示:
Deployed to 地址,接下来两步需要用到它。
7. 调用写入函数
现在调用setNumber() 将一个值存储到链上:
42 现已存储在 Stable 测试网的 number 变量中。
8. 从链上读取状态
调用number() 读取该值。这是免费读取——无需交易,无需 gas:
9. 在 Stablescan 上查看你的部署
打开 Stable 测试网区块浏览器并粘贴你的合约地址:setNumber 调用。Stablescan 是检查链上状态、验证合约源代码以及查阅 Stable 上交易历史的权威工具。
你学到了什么
你部署了一个合约、发送了一笔状态更改交易,并读取了链上状态——全部在 Stable 测试网上完成。现在你知道如何:- 配置 Foundry(或任何 EVM 工具链)通过标准 RPC 端点指向 Stable
- 使用 USDT0 水龙头为钱包充值
- 使用 USDT0 作为 gas 代币支付交易费用
- 在 Stablescan 上查看你的工作
- JSON-RPC API — 查看 Stable 支持哪些
eth_方法及与以太坊主网的差异 - Gas 与定价 — 了解 USDT0 计价的手续费计算方式
- 测试网信息 — 完整的网络参数、合约地址和跨链桥详情

