SSolon 中EN繁
Solon Docs

在 Solon 上构建

EVM 完全兼容:你熟悉的一切以太坊工具(MetaMask / ethers.js / web3.py / Remix / Hardhat)开箱即用。只需把 RPC 指向 Solon。

快速开始JSON-RPC方法全表错误码水龙头 API 合约地址册SDK 示例发行合规章通证节点信息 合规说明

Quickstart快速开始

参数值
网络名称Solon Chain Testnet
RPC 地址…
Chain ID51051(十六进制 0xC76B)
代币符号SLN · 18 位小数 · 测试币无价值
出块 / 共识1 秒 · Clique PoA · EVM London
区块浏览器Solon Explorer

15 分钟全链路验收(从 0 到第一笔链上交互)
  1. 连接网络(1 分钟) — 点上方「一键添加到 MetaMask」,或在任意 EVM 工具把 RPC 指到本站 /solonrpc/,eth_chainId 应返回 0xC76B。
  2. 领测试币(1 分钟) — 水龙头领取 10 SLN,或直接用下方 Faucet API 程序化领取。
  3. 发第一笔转账(2 分钟) — 用 网页钱包或 MetaMask 转 0.1 SLN 给任意地址,1 秒出块即确认。
  4. 在浏览器核对(1 分钟) — 打开 Solon Explorer 查交易哈希,确认状态成功、Gas 消耗符合预期。
  5. 部署一个合约(10 分钟) — Remix / Hardhat 直接部署(编译器 EVM 版本务必选 london),或按发行指南部署自己的合规章通证。

JSON-RPC直接调用节点

标准以太坊 JSON-RPC 接口,支持 eth_* / net_* / web3_* / txpool_* 命名空间。

cURL · 查询最新区块高度
# 查询最新区块高度
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 · 查询地址余额
curl -X POST … \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance",
       "params":["0x你的地址","latest"],"id":1}'

Method ReferenceJSON-RPC 方法全表

与以太坊主网 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_*)不对公网开放;主网上线前将进一步收窄。

Error Codes错误码速查

三类错误:JSON-RPC 协议层(标准以太坊)、合约 revert(Solon 合规逻辑)、储备证明门控原因码(SolonProof,9 类)。

码含义与排查
JSON-RPC 标准错误
-32700Parse error — 请求体不是合法 JSON
-32600Invalid Request — 缺 jsonrpc:"2.0" 或字段结构错误
-32601Method not found — 方法名拼写错误,或该命名空间未开放(如 admin_*)
-32602Invalid params — 参数数量 / 类型 / 区块标签错误
-32000Server 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,预防性拦截

Faucet API水龙头(程序化领币)

除网页版外,水龙头提供 HTTP API:每地址每 24 小时可领 10 SLN。

cURL · 领取测试币
curl -X POST … \
  -H "Content-Type: application/json" \
  -d '{"address":"0x你的地址"}'

# 成功: {"ok":true,"tx":"0x…"} 失败: {"ok":false,"error":"…"}

Official Contracts官方合规合约

由 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 下载(JSON,直接配合 ethers / web3.py 使用)
合约ABI 文件
IdentityRegistryir.json
合规章通证(STT / GLD 同款)ct.json
SolonProof(储备证明)proof.json
DividendPooldividend.json
LimitBookorderbook.json
SolonBridgebridge.json
SolonOfferingoffering.json
预言机 PriceFeedfeed.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紧急暂停 / 恢复全合约转账
链上验证结果(部署当日实测,全通过)

SDK ExamplesSDK 示例

JavaScript · ethers v6
// 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));
Python · web3.py
# 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")

Issue Your Token发行合规章通证

官方 IdentityRegistry 为白名单制(仅官方可登记)。要在测试网上自由发行,推荐「自部署模式」:每个发行方部署自己专属的 IR + 通证组合,发行方即 owner,全权管理白名单、增发与冻结。

两种发行方式
  1. 网页向导(零代码) — 打开 发行平台,连接钱包后一键完成:部署专属 IdentityRegistry → 部署通证合约 → 白名单登记发行方与接收方 → 铸造初始供应量,共 4 笔链上交易。
  2. 程序化部署 — 合约 ABI 与字节码托管于 assets/solon-contracts.js(solc 0.8.26,evmVersion=london),直接用 ethers ContractFactory 部署即可。⚠️ 部署合约请务必指定 EVM 版本为 london(cancun 的 PUSH0 指令本链暂不支持)。

Infrastructure节点信息

Solon 测试网采用双验证人架构,新加坡 + 首尔两个出块节点交替封块,任一节点宕机链不停。

节点角色
新加坡出块验证人 · 水龙头服务
首尔出块验证人 · 门户 / RPC 入口

测试网阶段 RPC 开放写交易;主网上线前将收窄管理类命名空间并开放节点接入申请。

Emergency Playbook应急预案手册

按运维监控体系(P1/P2/P3 分级告警)配套的处置流程——每级告警都有对应的操作手册,状态页实时评估当前级别。

P1 · 致命(立即响应,15 分钟内)
场景处置步骤
单验证人离线① 状态页确认另一节点仍在出块(Clique 容错生效,链不停)→ ② 检查离线节点容器与磁盘 → ③ 重启节点容器,观察重新同步 → ④ 高度追平后解除告警
出块停滞 > 30s① 双节点互查 peer 连接 → ② 检查验证人 unlock 状态与系统时间(NTP 偏移是 Clique 停块首因)→ ③ 必要时重启落后节点 → ④ 公告用户
桥异常资金流① 多签委员会立即执行 setPaused(true) 暂停桥(2-of-3 门限,提案+确认全程链上留痕)→ ② 冻结异常地址(合规中台操作台)→ ③ 出具事件报告
P2 · 严重(1 小时内响应)
场景处置步骤
双节点高度差 > 10 块检查落后节点网络与磁盘 IO;持续扩大则按 P1 单验证人离线流程处理
出块间隔 P95 > 5s检查验证人负载;如为交易洪峰属预期,持续 1 小时不降则排查 peer 质量
桥池流动性不足快速桥池低于单日限额 20% 时,从金库经多签提案补充注资
P3 · 提示(当日处理)与日常演练
事项说明
RPC 延迟 > 1500ms检查首尔入口负载;机构用户可切换直连节点 RPC
季度灾备演练每季度模拟单区域失联:关停一个验证人,验证链不停 + 状态页降级横幅 + 告警分级正确触发
密钥轮换多签委员私钥半年轮换一次:新委员加入提案 → 旧委员移除提案 → 金库小额试付验证

Compliance & Dual Proof合规说明:双层证明与造假处置

Solon 的合规分两层:链下——监管审批备案、审计托管、法律意见(信任根);链上——文件哈希存证、多签喂价、自动风控(可验证证明)。链上做规则执行、不做事实发现:不自动审计链下资产真伪;造假的证伪与处罚由政府监管(SFC / AFRC / HKMA / CCB / ICAC)与司法机关负责,链上负责秒级止损与证据固定。

合规全景图 →造假处置链路 →PoR 操作台 →双层证明视图 →资产披露示例(GLD)→