01 接入网络
使用 MetaMask 或其他兼容 EVM 的钱包添加下列网络。接入开放后,点击“一键添加网络”即可向钱包提交配置。
curl https://rpc-testnet.cuocoin.com \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'Chain ID 的正确返回值为 0x13528f4。应用应检查 Chain ID 和发布的创世哈希后再提交交易。
02 领取与转账
前往水龙头,输入公开钱包地址并完成验证。每个地址 24 小时可领取 10 tCUO,每个 IP 每天最多 20 次,全站每天最多发放 1,000 tCUO。领取状态会保留,网络超时后可重试同一个领取编号。
领取确认后,在钱包中选择 tCUO,填写接收地址和数量并签名。使用交易哈希在区块浏览器查询结果。最低交易 Gas 价格为 1 Gwei,普通账户转账一般使用 21,000 Gas。
03 部署 ERC-20 合约
示例使用 Solidity 0.8.28、OpenZeppelin Contracts 5.6.1。务必明确设置 Cancun,避免编译器生成本链尚未启用的指令。
Hardhat
import { defineConfig } from "hardhat/config";
export default defineConfig({
solidity: {
version: "0.8.28",
settings: { evmVersion: "cancun", optimizer: { enabled: true, runs: 200 } }
},
networks: {
cuocoinTestnet: {
type: "http", chainType: "l1", chainId: 20261108,
url: "https://rpc-testnet.cuocoin.com"
}
}
});Foundry
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc_version = "0.8.28"
evm_version = "cancun"
optimizer = true
optimizer_runs = 200
remappings = ["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"]
[rpc_endpoints]
cuocoin_testnet = "https://rpc-testnet.cuocoin.com"TestToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract TestToken is ERC20 {
constructor() ERC20("Cuo Test Token", "CTT") {
_mint(msg.sender, 1_000_000 * 10 ** decimals());
}
}在本地环境中设置测试钱包私钥 CUO_PRIVATE_KEY。私钥不应填写到此网站或提交到代码仓库。示例只从本地环境变量读取签名密钥。
04 订阅区块与事件
WebSocket 支持 newHeads 和 logs。连接中断后重新连接并重新订阅;如需补齐事件,使用 eth_getLogs 分段查询,每段最多 2,000 个区块。
import WebSocket from "ws";
function connect() {
const ws = new WebSocket("wss://ws-testnet.cuocoin.com");
ws.on("open", () => ws.send(JSON.stringify({
jsonrpc: "2.0", id: 1, method: "eth_subscribe", params: ["newHeads"]
})));
ws.on("message", data => console.log(JSON.parse(data.toString())));
ws.on("error", error => console.error(error.message));
ws.on("close", () => setTimeout(connect, 2000));
}
connect();订阅合约事件时,将 params 改为 ["logs", {"address": "YOUR_CONTRACT_ADDRESS"}]。
05 验证合约源码
在浏览器打开合约地址,选择 Verify & publish。使用与部署时完全一致的 Solidity 0.8.28、Cancun、优化开关及 200 次优化参数,上传完整源码或标准 JSON 输入。示例构造函数没有参数。
forge verify-contract --chain-id 20261108 \
--verifier blockscout \
--verifier-url https://explorer-testnet.cuocoin.com/api \
--watch "$CONTRACT_ADDRESS" src/TestToken.sol:TestToken请使用下载示例中的 Foundry 配置,使验证与部署编译参数保持一致。
06 公共接口限制
HTTP 批量最多 20 项,请求或 WebSocket 消息最多 1 MiB。每个网关每 IP 读取额度为 10 次/秒,全站预算 50 次/秒;交易提交每 IP 1 次/秒,全站 5 次/秒。批量中的每项分别计数。
模拟调用最多 10,000,000 Gas,日志查询最多 2,000 个区块。遇到限流请降低并发并等待后重试。重发交易应使用相同签名字节;WebSocket 断线需要重新订阅。管理、调试、追踪及验证者投票接口不公开。
网络文件
创世区块哈希: 隔离验证完成后固定