一套 SDK 调通 Solon 全部能力:行情、交易、股息、认购、跨链桥、合规身份。JavaScript 开箱即用,Python SDK 与 6 个示例工程随主网交付。
<!-- 1. 引入 ethers + Solon SDK --> <script src="https://solon.digital/assets/ethers.umd.min.js"></script> <script src="https://solon.digital/assets/solon-defi.js"></script> <script src="https://solon.digital/assets/solon-sdk.js"></script> // 2. 连接(只读模式可不传私钥) const sdk = new SolonSDK(); await sdk.connect('0x你的私钥'); // 或 sdk.connectProvider(window.ethereum) // 3. 查价 → 买入 10 SLN 的 NVDA 通证 await sdk.price('NVDA'); // 145.0(SLN 计) await sdk.buy('NVDA', '10'); // 链上原子成交
| 参数 | 值 |
|---|---|
| 网络名称 | Solon Chain Testnet |
| Chain ID | 51051(0xC78B) |
| 公开 RPC | https://solon.digital/solonrpc/ |
| 原生代币 | SLN(18 位精度,Gas 用) |
| 区块浏览器 | solon.digital/explorer |
| 测试水龙头 | solon.digital/faucet(每次 100 SLN) |
| 出块时间 | ~3 秒(主网目标亚秒级) |
| 通证标准 | ERC-3643 兼容证券通证(碎股 18 位、冻结/找回、合规规则引擎) |
| 端点 | 说明 |
|---|---|
| GET /api/v1/status | 链状态:高度、出块间隔、Gas、节点 peer 数 |
| GET /api/v1/markets | 全部通证行情:预言机价、24h 成交额与笔数 |
| GET /api/v1/tokens/{SYM}/quote | 单通证报价 + AMM 双向试算(1 SLN 可买 / 1 股可卖) |
| GET /api/v1/tokens/{SYM}/trades?limit=50 | 近期成交流(方向、数量、对手地址、tx 哈希) |
| GET /api/v1/tokens/{SYM}/holders | 持有人名册(逐笔回算,含占比,5 分钟缓存) |
| GET /api/v1/tokens/{SYM}/candles | K 线 OHLCV(15m / 1h / 4h,Swap 事件聚合) |
| GET /api/explorer/api?module=account&action=… | Etherscan 兼容:balance / tokenbalance / tokentx |
# 任何语言零依赖直连(示例:curl / Python requests)
curl https://solon.digital/api/v1/markets
import requests
m = requests.get('https://solon.digital/api/v1/markets').json()
print([(x['symbol'], x['priceSln']) for x in m['markets']])
| 端点 | 说明 |
|---|---|
| GET /api/v1/pro/settlement | 日终结算报告:24h 全市场成交量/笔数、分通证汇总、独立交易方、Top 5 交易方 |
# HMAC 签名调用(bash + openssl 零依赖)
TS=$(date +%s); KEY=sk_demo_solon_001; SECRET=whsec_demo_7f3a9c2e5b
SIGN=$(printf "%s:%s" "$TS" "$KEY" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')
curl -H "x-api-key: $KEY" -H "x-api-ts: $TS" -H "x-api-sign: $SIGN" \
https://solon.digital/api/v1/pro/settlement
| 分组 | 方法 | 说明 |
|---|---|---|
| 行情 | price(sym) · prices() · quoteBuy(sym, sln) · quoteSell(sym, shares) | 预言机价格与 AMM 买卖试算 |
| 交易 | buy(sym, sln) · sell(sym, shares) | AMM 市价单,碎股最小 0.000001 股 |
| 限价 | placeBuy / placeSell(sym, price, shares) · cancelOrder(id) | 链上限价订单簿,托管自动退还 |
| 股息 | dividends() · claimable(divId) · claimDividend(divId) | 快照分派、一键领取 |
| 认购 | offers() · subscribe(offerId, amount) | 一级市场申购,DvP 原子交收 |
| 跨链桥 | bridgeDeposit(sln, chainId, target) · bridgeClaim(id) | 锁定 / 领取,进度链上可查 |
| 账户 | balanceSLN() · balanceOf(sym) · isVerified() · registerSelf() | 余额、持仓与 KYC 身份 |
遍历全部股票通证,一次拿全预言机价格。
const sdk = new SolonSDK();
console.log(await sdk.prices());
// { NVDA: 145, AAPL: 230, TSLA: 420, … }↓ 下载完整示例文件转账前检查双方 KYC,避免链上回滚。
const ok = await sdk.isVerified(toAddr);
if (!ok) throw new Error('收款方未通过 KYC');
// 通过后再调用通证 transfer↓ 下载完整示例文件遍历分派批次,把可领的一次领完。
for (const d of await sdk.dividends()) {
if (await sdk.claimable(d.id) > 0)
await sdk.claimDividend(d.id);
}↓ 下载完整示例文件读取在售发行,按份额申购(DvP 交收)。
const [offer] = await sdk.offers(); await sdk.subscribe(offer.id ?? 1, '100'); // 100 份 GLD,资金与通证原子交收↓ 下载完整示例文件
锁定 SLN 到桥合约,中继确认后自助领取。
await sdk.bridgeDeposit('50', 11155111, myAddr);
// 进度查询:bridge.getXfer(id)↓ 下载完整示例文件挂买单后监听成交,超时自动撤销。
await sdk.placeBuy('NVDA', '140', '5');
// … 10 分钟未成交:
await sdk.cancelOrder(orderId); // 托管 SLN 自动退还↓ 下载完整示例文件· Python SDK 与 TypeScript SDK 均已提供下载(web3.py / ethers v6,方法与 JS 版全对齐);viem 封装版随主网交付。
· 机构 API(REST + WebSocket,API Key + HMAC 签名 + IP 白名单)在阶段二开放申请,端点清单见开发者文档。
· 所有合约地址与 ABI 已内置在 solon-defi.js(JS)与 assets/abi/*.json(Python),随 SDK 自动加载,无需手工配置。