فارسی
مرجع API
DotOne Smart Chain مجموعهای استاندارد از APIها را برای توسعهدهندگان، پژوهشگران و یکپارچهسازها ارائه میدهد. تمام نقاط پایانی عمومی از قراردادهای JSON-RPC سازگار با اتریوم پیروی میکنند و این موضوع، یکپارچهسازی را برای هر ابزار سازگار با EVM ساده میسازد.
نقاط پایانی RPC
میننت
| نوع | نقطهی پایانی |
|---|---|
| HTTPS RPC | https://rpc.dotone.network |
| WebSocket | wss://ws.dotone.network |
| Chain ID | 505 |
تستنت
بهزودی — تستنت هماکنون در حال توسعه است. نقاط پایانی و Chain ID آن پس از در دسترس قرار گرفتن اینجا منتشر میشود.
JSON-RPC API
DotOne بهطور کامل با مشخصات JSON-RPC اتریوم سازگار است. تمام فضاینامهای استاندارد eth_، net_ و web3_ پشتیبانی میشوند.
مثال — دریافت آخرین شمارهی بلاک
درخواست:
bash
curl -X POST https://rpc.dotone.network \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}'پاسخ:
json
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1a2b3c"
}مثال — دریافت تراکنش بر اساس هش
درخواست:
bash
curl -X POST https://rpc.dotone.network \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"method": "eth_getTransactionByHash",
"params": ["0x{transaction_hash}"],
"id": 1
}'مثال — دریافت موجودی کیفپول
درخواست:
bash
curl -X POST https://rpc.dotone.network \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": ["0x{wallet_address}", "latest"],
"id": 1
}'پاسخ:
json
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x56BC75E2D63100000"
}موجودی بر حسب Wei برگردانده میشود. برای تبدیل به DOTO آن را بر
10^18تقسیم کنید.
WebSocket API
اتصالات WebSocket امکان اشتراک بلادرنگ در رویدادهای روی زنجیره را بدون نیاز به polling فراهم میکنند.
اتصال
js
const ws = new WebSocket("wss://ws.dotone.network");اشتراک در هدرهای بلاک جدید
js
ws.send(JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_subscribe",
"params": ["newHeads"],
"id": 1
}));اشتراک در تراکنشهای در انتظار
js
ws.send(JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_subscribe",
"params": ["newPendingTransactions"],
"id": 2
}));اشتراک در لاگهای قرارداد
js
ws.send(JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_subscribe",
"params": [
"logs",
{
"address": "0x{contract_address}",
"topics": []
}
],
"id": 3
}));Explorer API
اکسپلورر DotOne یک REST API برای پرسوجوی دادههای ایندکسشدهی بلاکچین ارائه میدهد — مفید برای تحلیل، داشبورد و ابزارهای نظارتی.
آدرس پایه: https://dotscan.one/api
نقاط پایانی رایج
دریافت جزئیات تراکنش
GET /api?module=transaction&action=gettxinfo&txhash={tx_hash}دریافت تاریخچهی تراکنشهای آدرس
GET /api?module=account&action=txlist&address={wallet_address}&page=1&offset=20دریافت انتقالهای توکن برای یک آدرس
GET /api?module=account&action=tokentx&address={wallet_address}دریافت جزئیات بلاک
GET /api?module=block&action=getblockreward&blockno={block_number}دریافت ABI قرارداد
GET /api?module=contract&action=getabi&address={contract_address}کتابخانههای پشتیبانیشده
DotOne با تمام کتابخانههای استاندارد توسعهی EVM سازگار است:
| کتابخانه | زبان | کاربرد |
|---|---|---|
ethers.js | جاوااسکریپت / تایپاسکریپت | تعامل با کیفپول، قرارداد و provider |
web3.js | جاوااسکریپت | پوشش کامل API اتریوم |
viem | تایپاسکریپت | کلاینت مدرن و type-safe برای EVM |
web3.py | پایتون | یکپارچهسازی و اسکریپتهای بکاند |
ethers-rs | راست (Rust) | اپلیکیشنهای با کارایی بالا |
اتصال با ethers.js
js
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://rpc.dotone.network");
const blockNumber = await provider.getBlockNumber();
console.log("Latest block:", blockNumber);اتصال با web3.py
python
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("https://rpc.dotone.network"))
print("Connected:", w3.is_connected())
print("Latest block:", w3.eth.block_number)محدودیتهای نرخ درخواست
نقاط پایانی عمومی RPC برای توسعه و استفادهی سبک در دسترس هستند. برای اپلیکیشنهای تولیدی که نیاز به توان عملیاتی پایدار دارند:
- از یک نود اختصاصی یا نقطهی پایانی RPC خصوصی استفاده کنید
- در صورت امکان دستهبندی درخواستها (batching) را پیادهسازی کنید
- بهجای polling، از اشتراکهای WebSocket برای دادهی بلادرنگ استفاده کنید
- پاسخهای دادهی ثابت یا کمتغییر (مثلاً تأییدیههای بلاک) را کش کنید
برای یکپارچهسازیهای با حجم بالا، برای دسترسی به زیرساخت اختصاصی با تیم DotOne تماس بگیرید.