Skip to Content

JSON-RPC

Solidus blok zinciri, ağdan doğrudan blokları, işlemleri, hesapları ve DID belgelerini sorgulamak için bir JSON-RPC 2.0 uç noktası sunar.

Uç nokta: https://rpc.solidus.network

Tüm istekler Content-Type: application/json ile POST kullanır. Kimlik doğrulama gerekmez.

İstek Biçimi

Her istek JSON-RPC 2.0 spesifikasyonunu izler.

{ "jsonrpc": "2.0", "method": "method_name", "params": [], "id": 1 }

Hata Biçimi

Hatalar, JSON-RPC 2.0 hata nesnesi yapısını izler.

{ "jsonrpc": "2.0", "error": { "code": -32602, "message": "Invalid params: DID not found" }, "id": 1 }
CodeMeaning
-32700Ayrıştırma hatası — geçersiz JSON
-32600Geçersiz istek — eksik gerekli alanlar
-32601Yöntem bulunamadı
-32602Geçersiz parametreler
-32603İç hata

Yöntemler

Bir solidus_getAccount yöntemi yoktur — buna bir çağrı {"error":{"code":-32601,"message":"Method not found"}} döndürür. Hesap bakiyesi ve nonce iki ayrı çağrıdır: solidus_getBalance ve solidus_getNonce. Aşağıdaki tüm hash’ler 0x öneki olmadan küçük harfli hex’tir, zaman damgaları Unix milisaniyeleridir (timestamp_ms) ve aşağıdaki yanıt şekilleri rpc.solidus.network’ten canlı olarak yakalanmıştır.

solidus_getBalance

Base58 bir adres için bakiyeyi (en küçük birimlerde) döndürür.

ParamTypeDescription
addressstringBase58 kodlanmış hesap adresi
curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_getBalance","params":["3GfjBM7v6LZ1N5zp1b12gfpwCN8j"],"id":1}'
// Response { "jsonrpc": "2.0", "id": 1, "result": 1000000000000 }

solidus_getNonce

Base58 bir adres için geçerli nonce’u (bir sonraki beklenen işlem indeksi) döndürür.

ParamTypeDescription
addressstringBase58 kodlanmış hesap adresi
{ "jsonrpc": "2.0", "id": 1, "result": 0 }

solidus_getLatestBlock

En son onaylanmış bloğu döndürür, hiç blok yoksa null döndürür.

curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_getLatestBlock","params":[],"id":1}'
// Response (measured live) { "jsonrpc": "2.0", "id": 1, "result": { "height": 82054, "round": 6495, "hash": "7bdd7ba192080a011f4564bae0d065401e2efa6a257f52df0eeb0ae284e01d02", "parent_hash": "261c0ac7955a5359b653f189a720ddd1358650772e35734003093fb2bc324800", "state_root": "c2a009a8fc5f869aee238febb2e362694bd3828748158d758e52420f5a15c89d", "transactions_root": "0000000000000000000000000000000000000000000000000000000000000000", "timestamp_ms": 1785314852140, "tx_count": 0, "proposer": "KoYahYf66hCp2wqTJFCxrzYpQ5r", "transactions": [] } }

transactions is a bare array of hex transaction-hash strings, not an array of objects. round is the consensus round the block was proposed in; tx_count mirrors transactions.length.

solidus_getBlock

Yüksekliğe göre bir blok döndürür, mevcut değilse null döndürür. solidus_getLatestBlock ile aynı yanıt şekli.

ParamTypeDescription
heightnumberAlınacak blok yüksekliği
curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_getBlock","params":[1],"id":1}'

solidus_getBlockBySeq

Bir bloğu, bitişik kanonik sıra numarasına göre döndürür (hızlı lider rotasyonu altında kayıplı olabilen height’ten farklı olarak), o seq’te hiçbir şey kanonize edilmemişse null döndürür. Yanıt şekli solidus_getLatestBlock ile eşleşir.

ParamTypeDescription
seqnumberKanonik sıra numarası

solidus_canonHead

Kanonik defterin başını döndürür, hiçbir blok kanonize edilmemişse null döndürür.

curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_canonHead","params":[],"id":1}'
{ "jsonrpc": "2.0", "id": 1, "result": { "seq": 80335, "hash": "7bdd7ba192080a011f4564bae0d065401e2efa6a257f52df0eeb0ae284e01d02" } }

solidus_blockNumber

Yalnızca en son onaylanmış blok yüksekliğini döndürür.

{ "jsonrpc": "2.0", "id": 1, "result": 82054 }

solidus_chainInfo

Zincir meta verisini döndürür — kimlik, yerel token, genesis hash’i, en son yükseklik, düğüm sürümü.

curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_chainInfo","params":[],"id":1}'
// Response (measured live) { "jsonrpc": "2.0", "id": 1, "result": { "chain_id": "solidus-testnet-1", "native_token": { "symbol": "SLDS", "name": "Solidus", "decimals": 8 }, "genesis_hash": "fd5c6ad7951a6a0352290e0731feb05e2fc96650030b8280a52518267e23a312", "latest_block": 82054, "version": "0.1.0" } }

solidus_nodeInfo

Süreç düzeyinde düğüm gözlemlenebilirliğini döndürür: sürüm, çalışma süresi, yerleşik bellek.

// Response (measured live) { "jsonrpc": "2.0", "id": 1, "result": { "version": "0.1.0", "uptime_seconds": 1244870, "rss_bytes": 165449728 } }

solidus_getReceipt

Bir işlem hash’i için yürütme makbuzunu döndürür, bulunamazsa null döndürür.

ParamTypeDescription
tx_hashstringHex işlem hash’i (0x öneki olmadan)
{ "jsonrpc": "2.0", "id": 1, "result": { "tx_hash": "<hex>", "status": "success", "block_height": 82054, "fee_paid": 10000, "events": [{ "type": "Transfer", "from": "...", "to": "...", "amount": 500 }] } }

status is either "success" or "failed: <reason>".

solidus_getTransaction

Bir hash için tam işlem JSON’unu döndürür (en sondan geriye doğru blokları tarayarak — testnet’te kabul edilebilir), bulunamazsa null döndürür.

ParamTypeDescription
tx_hashstringHex işlem hash’i
curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_getTransaction","params":["<hex tx hash>"],"id":1}'

Sonuç, ham imzalanmış işlemdir — {sender_pubkey, nonce, payload, signature} — bir {tx, receipt} sarmalayıcısı değil. Yürütme durumu için ayrıca solidus_getReceipt kullanın.

solidus_sendTransaction

Ağa imzalanmış bir işlem (bir nesne değil, JSON kodlanmış bir dize) gönderir. İşlem hash’ini hex dizesi olarak döndürür.

ParamTypeDescription
tx_jsonstringJSON dizgesine dönüştürülmüş imzalanmış işlem
curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_sendTransaction","params":["<JSON-stringified signed tx>"],"id":1}'
{ "jsonrpc": "2.0", "id": 1, "result": "<hex tx hash>" }

İşlem mempool’a eklenir. Bir bloğa dahil edildiğinde kontrol etmek için döndürülen hash ile solidus_getReceipt kullanın. Pratikte, ham işlemler oluşturmak yerine SDK’yı kullanın — nonce yönetimini, imzalamayı ve serileştirmeyi halleder.

solidus_didResolve

Bir DID’i DID Belgesine çözümler, mevcut değilse null döndürür.

ParamTypeDescription
didstringÇözümlenecek DID
curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_didResolve","params":["did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K"],"id":1}'

Sonuç, DID belgesinin kendisidir (bir document alanına sarmalanmamış), active, created_ms, updated_ms ve version_id dahil. Bu yöntemin tam olarak eşleştiği alan alan şekil için DID’ler’e bakın.

solidus_credentialVerify

Kimliğe göre bir kimlik bilgisini doğrular. Geçerliliği ve kimlik bilgisi kaydını döndürür, kimlik bilgisi mevcut değilse null döndürür.

ParamTypeDescription
credential_idstringKimlik bilgisi kimliği (ör. urn:solidus:credential:...)
{ "jsonrpc": "2.0", "id": 1, "result": { "valid": true, "credential": { "id": "...", "issuer_did": "...", "subject_did": "...", "credential_type": "Email", "hash": "<hex>", "issued_ms": 0, "revoked": false, "revoked_ms": null }, "revoked": false } }

solidus_credentialsBySubject

Verilen DID’in konu olduğu tüm kimlik bilgilerini düz bir dizi olarak döndürür (hiçbiri yoksa boş dizi).

ParamTypeDescription
didstringKonu DID’i

solidus_credentialsByIssuer

Verilen DID’in düzenleyici olduğu tüm kimlik bilgilerini düz bir dizi olarak döndürür. solidus_credentialsBySubject ile aynı kayıt şekli.

ParamTypeDescription
didstringDüzenleyici DID’i

solidus_getValidators

Aktif doğrulayıcı kümesini düz bir dizi olarak döndürür — {validators: [...]} içine sarmalanmamış.

curl -X POST https://rpc.solidus.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"solidus_getValidators","params":[],"id":1}'
// Response (measured live — 5 validators currently active) { "jsonrpc": "2.0", "id": 1, "result": [ { "address": "3GfjBM7v6LZ1N5zp1b12gfpwCN8j", "staked": 1000000000000, "unbonding": 0, "reputation": 1000, "active": true }, { "address": "28gvczeVVVQjy6MpP4yexmd3xEsm", "staked": 0, "unbonding": 0, "reputation": 0, "active": true }, { "address": "2ddrNYxwr5V42QJmDgpphzGuWrAK", "staked": 0, "unbonding": 0, "reputation": 0, "active": true }, { "address": "2VnFvB9X8BW5QxDAD1wJjjd8AJvT", "staked": 0, "unbonding": 0, "reputation": 0, "active": true }, { "address": "KoYahYf66hCp2wqTJFCxrzYpQ5r", "staked": 0, "unbonding": 0, "reputation": 0, "active": true } ] }

Bir public_key, isLeader, totalStake veya quorum alanı yoktur. Her giriş address, staked, unbonding (21 günlük unbonding kilidindeki miktar) ve reputation (0–1000) ile active taşır.

solidus_getValidatorStake

Base58 bir adres için tek bir doğrulayıcının bilgisini döndürür, bulunamazsa null döndürür. solidus_getValidators’taki bir girdiyle aynı kayıt şekli.

ParamTypeDescription
addressstringBase58 doğrulayıcı adresi

solidus_bbsVerifyProof

Bir BBS+ seçici ifşa kanıtını durumsuz olarak doğrular (zincir araması yok). Tüm hex girdileri küçük harfli olmalıdır.

ParamTypeDescription
proof_hexstringHex kodlanmış BBS+ kanıtı
pubkey_hexstringHex kodlanmış BBS+ açık anahtarı
header_hexstringHex kodlanmış imza başlığı
ph_hexstringHex kodlanmış sunum başlığı
disclosed_messages{index: number, message: string}[]İfşa edilen mesaj indeksleri + hex mesaj baytları
total_message_countnumberOrijinal olarak imzalanan vektördeki toplam mesaj sayısı

Kanıt kriptografik olarak geçerliyse true döndürür.

solidus_bbsVerifyCredentialProof

Bir BBS+ kanıtını zincir üstü bir kimlik bilgisi kaydına karşı doğrular — kimlik bilgisini kimliğine göre arar, zincir durumundan bbs_pubkey/bbs_message_count’ünü çeker, ardından doğrular. Kanıt geçerliliğini iptal durumuyla birleştirir.

ParamTypeDescription
credential_idstringKimlik bilgisi kimliği
proof_hexstringHex kodlanmış BBS+ kanıtı
header_hexstringHex kodlanmış imza başlığı
ph_hexstringHex kodlanmış sunum başlığı
disclosed_messages{index: number, message: string}[]İfşa edilen mesaj indeksleri + hex mesaj baytları
{ "jsonrpc": "2.0", "id": 1, "result": { "valid": true, "proof_valid": true, "is_bbs": true, "revoked": false, "credential": { "...": "..." } } }
Last updated on