EVM 完全兼容:你熟悉的一切以太坊工具(MetaMask / ethers.js / web3.py / Remix / Hardhat)开箱即用。只需把 RPC 指向 Solon。
| 参数 | 值 |
|---|---|
| 网络名称 | Solon Chain Testnet |
| RPC 地址 | … |
| Chain ID | 51051(十六进制 0xC76B) |
| 代币符号 | SLN · 18 位小数 · 测试币无价值 |
| 出块 / 共识 | 1 秒 · Clique PoA · EVM London |
| 区块浏览器 | Solon Explorer |
/solonrpc/,eth_chainId 应返回 0xC76B。london),或按发行指南部署自己的合规章通证。标准以太坊 JSON-RPC 接口,支持 eth_* / net_* / web3_* / txpool_* 命名空间。
# 查询最新区块高度
curl -X POST … \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# 返回: {"jsonrpc":"2.0","id":1,"result":"0x7a13"}
curl -X POST … \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance",
"params":["0x你的地址","latest"],"id":1}'
与以太坊主网 RPC 语义完全一致——凡是能连以太坊公共 RPC 的代码,改一个 URL 即可跑在 Solon 上。
| 方法 | 类型 | 说明 |
|---|---|---|
| eth_* · 链数据与交易 | ||
eth_chainId / eth_blockNumber | 读 | 链 ID(0xC76B)/ 最新区块高度 |
eth_getBalance / eth_getTransactionCount / eth_getCode / eth_getStorageAt | 读 | 余额 / nonce / 合约字节码 / 存储槽 |
eth_getBlockByNumber / eth_getBlockByHash | 读 | 区块详情(含交易列表) |
eth_getTransactionByHash / eth_getTransactionReceipt | 读 | 交易详情 / 回执(状态、Gas、日志) |
eth_call / eth_estimateGas | 读 | 本地模拟调用(不发交易)/ Gas 估算 |
eth_sendRawTransaction | 写 | 广播已签名交易(唯一写接口,私钥永不触网) |
eth_getLogs / eth_getFilterChanges 等 filter 族 | 读 | 事件日志查询(按地址 / topic 过滤) |
eth_gasPrice / eth_feeHistory / eth_syncing | 读 | Gas 价格 / 费率历史 / 同步状态 |
| net_* / web3_* / txpool_* · 节点与工具 | ||
net_version / net_peerCount / net_listening | 读 | 网络 ID(51051)/ 对等节点数 / 监听状态 |
web3_clientVersion / web3_sha3 | 读 | 节点版本 / Keccak-256 哈希工具 |
txpool_content / txpool_status | 读 | 交易池内容 / 排队与待打包计数 |
⚠️ 管理类命名空间(admin_* / personal_* / miner_*)不对公网开放;主网上线前将进一步收窄。
三类错误:JSON-RPC 协议层(标准以太坊)、合约 revert(Solon 合规逻辑)、储备证明门控原因码(SolonProof,9 类)。
| 码 | 含义与排查 |
|---|---|
| JSON-RPC 标准错误 | |
| -32700 | Parse error — 请求体不是合法 JSON |
| -32600 | Invalid Request — 缺 jsonrpc:"2.0" 或字段结构错误 |
| -32601 | Method not found — 方法名拼写错误,或该命名空间未开放(如 admin_*) |
| -32602 | Invalid params — 参数数量 / 类型 / 区块标签错误 |
| -32000 | Server error — 含 gas required exceeds allowance(Gas 上限)、nonce too low(重发旧 nonce)、insufficient funds(余额不足)等子类,读 message 定位 |
| 合规章合约 revert(交易被合规规则拦截) | |
not verified | 接收方(或发起方)未通过 IdentityRegistry 白名单 → 先完成 KYC 登记 |
frozen | 地址被合规冻结,任何转入转出均被拦截 |
paused | 合约处于紧急暂停状态,等待官方恢复(状态见状态页) |
PUSH0 相关 | 部署报未知操作码 → 编译器 EVM 版本改为 london 重新编译(本链暂不支持 cancun) |
SolonProof 门控原因码(gate(asset) 返回 reason,认购 / 赎回被拦截时查阅) | |
| 0 / 1 | 手动暂停 — 合规方主动暂停,附链上备注 |
| 2 | 未登记证明 — 资产从未提交储备证明 |
| 3 | 证明不在有效期 — 超出 validFrom ~ validUntil 窗口,需更新证明 |
| 4 | 证明被撤销 — 发行人或合规方已 revoke,资产页同步披露 |
| 5 | 无喂价结论 — 多签喂价尚未达成(2-of-3 未齐) |
| 6 | 审计不合格 — 喂价结论为不通过 |
| 7 | 储备率低于阈值 — 实测储备率 < 资产规则设定的 minRatioBp |
| 8 | 风险告警 — 喂价方上报 riskFlag,预防性拦截 |
除网页版外,水龙头提供 HTTP API:每地址每 24 小时可领 10 SLN。
curl -X POST … \
-H "Content-Type: application/json" \
-d '{"address":"0x你的地址"}'
# 成功: {"ok":true,"tx":"0x…"} 失败: {"ok":false,"error":"…"}
由 Solon 官方部署并做链上验证的合规章基础设施(ERC-3643 简化实现)。官方 IdentityRegistry 为白名单制,仅官方可登记地址;如需自由管理白名单,请使用自部署模式。
| 合约 | 地址 |
|---|---|
| IdentityRegistry 链上 KYC 白名单登记处 |
0xd81991206354E7b954C286a264eB1f2D940fa736 |
| STT(合规章通证样例) Solon Treasury Token · RWA 债券类 |
0x9182B8445614D76f8E30118c73256829a68e3516 |
| SolonProof 储备证明登记 + 多签喂价 + ReserveGuard 门控 |
0x1B6aa6198DaFe8b6a373FC91026b4D80b0409b68 |
| DividendPool 股息池 · 公司行动引擎 |
0x8aC596e41db553BAE8B82d151A80dc10d9C98351 |
| LimitBook 限价订单簿 · 托管 + 原子交收 |
0x86a60247Bdad0fE1b4fdFdeA231af996C8d5189c |
| SolonBridge 跨链桥 Solon 端 · 限额 / 快速通道 / 紧急暂停 |
0x36507aB96929181867CE406B7DcAE0114467474f |
| SolonOffering 一级认购引擎 · 固定价格 + 原子 DvP |
0xf61Ed0E0964Ac3B2f7d872B03315972BfE97e816 |
| GLD(黄金份额样例) 商品类合规章通证 · 多资产演示 |
0x0Fe35F9621969B4bBEed7C153660B91d00cC4094 |
| 合约 | ABI 文件 |
|---|---|
| IdentityRegistry | ir.json |
| 合规章通证(STT / GLD 同款) | ct.json |
| SolonProof(储备证明) | proof.json |
| DividendPool | dividend.json |
| LimitBook | orderbook.json |
| SolonBridge | bridge.json |
| SolonOffering | offering.json |
| 预言机 PriceFeed | feed.json |
即插即用示例脚本见 assets/examples/(01 价格查询 → 06 限价单,共 6 个,Node 直接运行);合约源码级 ABI 与字节码打包于 assets/solon-contracts.js。
| 方法 | 权限 | 说明 |
|---|---|---|
| IdentityRegistry(白名单) | ||
isVerified(address) | view | 查询地址是否已通过 KYC 白名单登记 |
register(address) / registerBatch(address[]) | owner | 登记单个 / 批量地址入白名单 |
remove(address) | owner | 移出白名单 |
| 合规章通证(STT 同款逻辑) | ||
transfer(to, amount) | 白名单双方 | 接收方未登记或任一被冻结 → 直接 revert |
mint(to, amount) / burn(amount) | owner | 增发 / 销毁 |
freeze(addr) / unfreeze(addr) / frozen(addr) | owner | 合规冻结 / 解冻 / 查询冻结状态 |
forcedTransfer(from, to, amount) | owner | 强制转账(法院令等司法场景) |
pause() / unpause() | owner | 紧急暂停 / 恢复全合约转账 |
// npm i ethers (或直接使用本站 assets/ethers.umd.min.js)
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("…");
console.log("block:", await provider.getBlockNumber());
// 发送 SLN(MetaMask)
const signer = await new ethers.BrowserProvider(window.ethereum).getSigner();
const tx = await signer.sendTransaction({
to: "0x接收地址",
value: ethers.parseEther("1.0")
});
console.log("tx:", tx.hash);
// 查询 STT 余额
const stt = new ethers.Contract(
"0x9182B8445614D76f8E30118c73256829a68e3516",
["function balanceOf(address) view returns (uint256)"],
provider
);
console.log("STT:", ethers.formatUnits(await stt.balanceOf(signer.address), 18));
# pip install web3
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("…"))
assert w3.is_connected()
print("block:", w3.eth.block_number)
print("balance:", w3.from_wei(w3.eth.get_balance("0x你的地址"), "ether"), "SLN")
官方 IdentityRegistry 为白名单制(仅官方可登记)。要在测试网上自由发行,推荐「自部署模式」:每个发行方部署自己专属的 IR + 通证组合,发行方即 owner,全权管理白名单、增发与冻结。
assets/solon-contracts.js(solc 0.8.26,evmVersion=london),直接用 ethers ContractFactory 部署即可。⚠️ 部署合约请务必指定 EVM 版本为 london(cancun 的 PUSH0 指令本链暂不支持)。Solon 测试网采用双验证人架构,新加坡 + 首尔两个出块节点交替封块,任一节点宕机链不停。
| 节点 | 角色 |
|---|---|
| 新加坡 | 出块验证人 · 水龙头服务 |
| 首尔 | 出块验证人 · 门户 / RPC 入口 |
测试网阶段 RPC 开放写交易;主网上线前将收窄管理类命名空间并开放节点接入申请。
按运维监控体系(P1/P2/P3 分级告警)配套的处置流程——每级告警都有对应的操作手册,状态页实时评估当前级别。
| 场景 | 处置步骤 |
|---|---|
| 单验证人离线 | ① 状态页确认另一节点仍在出块(Clique 容错生效,链不停)→ ② 检查离线节点容器与磁盘 → ③ 重启节点容器,观察重新同步 → ④ 高度追平后解除告警 |
| 出块停滞 > 30s | ① 双节点互查 peer 连接 → ② 检查验证人 unlock 状态与系统时间(NTP 偏移是 Clique 停块首因)→ ③ 必要时重启落后节点 → ④ 公告用户 |
| 桥异常资金流 | ① 多签委员会立即执行 setPaused(true) 暂停桥(2-of-3 门限,提案+确认全程链上留痕)→ ② 冻结异常地址(合规中台操作台)→ ③ 出具事件报告 |
| 场景 | 处置步骤 |
|---|---|
| 双节点高度差 > 10 块 | 检查落后节点网络与磁盘 IO;持续扩大则按 P1 单验证人离线流程处理 |
| 出块间隔 P95 > 5s | 检查验证人负载;如为交易洪峰属预期,持续 1 小时不降则排查 peer 质量 |
| 桥池流动性不足 | 快速桥池低于单日限额 20% 时,从金库经多签提案补充注资 |
| 事项 | 说明 |
|---|---|
| RPC 延迟 > 1500ms | 检查首尔入口负载;机构用户可切换直连节点 RPC |
| 季度灾备演练 | 每季度模拟单区域失联:关停一个验证人,验证链不停 + 状态页降级横幅 + 告警分级正确触发 |
| 密钥轮换 | 多签委员私钥半年轮换一次:新委员加入提案 → 旧委员移除提案 → 金库小额试付验证 |
Solon 的合规分两层:链下——监管审批备案、审计托管、法律意见(信任根);链上——文件哈希存证、多签喂价、自动风控(可验证证明)。链上做规则执行、不做事实发现:不自动审计链下资产真伪;造假的证伪与处罚由政府监管(SFC / AFRC / HKMA / CCB / ICAC)与司法机关负责,链上负责秒级止损与证据固定。