Devnet v2
devnet-v2.solidus.network bir ürün değildir — bir yabancının HTTPS üzerinden gerçek bir v2
konsensüs RPC uç noktasına ulaşmasının mümkün olan en küçük yoludur. Herhangi bir şey için
kullanmadan önce ne olduğu konusunda kesin olun.
Ne olduğu
protocol/apps/consensus/deploy/devnet-provision.sh tarafından hazırlanan, dört solidus-noded
doğrulayıcı sürecini aynı kutuda birlikte konumlandırılmış şekilde çalıştıran tek bir Hetzner
kutusu (cx23, 2 vCPU / 4GB). Kendi zincir kimliği 50002’dir — canlı testnet’ten farklıdır. nginx,
doğrulayıcı 0’ın RPC portunu (:8545) kökte proxy’ler.
curl -X POST https://devnet-v2.solidus.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"solidus_getBlockHeight","params":[],"id":1}'// Response — measured live
{ "jsonrpc": "2.0", "id": 1, "result": 141208 }Ne olmadığı
- Coğrafi olarak dağıtılmış değildir. Dört doğrulayıcının tamamı aynı kutuda çalışır. Burada
3 bölgeli bir BFT iddiası yoktur — bu, ayrı ve daha büyük bir dağıtımdır
(
deploy/tier-b-testnet.sh, “Tier B”). - Canlı zincir değildir. Kendi zincir kimliğine (
50002) sahiptir ve hiçbir şekilderpc.solidus.network’e veya üretim testnet’ine dokunmaz. - Yeniden başlatma kurtarması yoktur. Bir yeniden başlatma genesis’ten yeniden oynatılır — bu kutu, üzerine kalıcı bir entegrasyon inşa edilecek bir şey değil, atılabilir bir gösterim ortamıdır.
- $SLDS taşımaz. Faucet’i bu zincirin kendi dev-genesis token’ını dağıtır, gerçek testnet’in SLDS’ini değil.
Neden var
“Bir dizüstü bilgisayarda 64,9K TPS” — dahili bir yürütme kıyaslamasını — bir dış kişinin bir HTTP çağrısı yaparak bağımsız olarak doğrulayabileceği bir şeye dönüştürür. Kapsamının tamamı budur. Buna karşı bir ürün entegrasyonu inşa etmeyin.
RPC yüzeyi
Devnet v2, ana testnet’in solidus-rpc’sinden (JSON-RPC’de belgelenmiştir) ayrı,
daha küçük bir RPC uygulaması (solidus-rpc2) çalıştırır — hem yöntem kümesi hem de işlem
kodlaması farklıdır. Tam olarak altı yöntem sunar:
| Method | Params | Returns |
|---|---|---|
solidus_getBalance | [address] (base58) | Ondalık dizge olarak bakiye |
solidus_getNonce | [address] (base58) | Sayı olarak nonce |
solidus_getBlockHeight | [] | Sayı olarak geçerli blok yüksekliği |
solidus_getStateRoot | [] | Geçerli durum kökü, hex kodlanmış |
solidus_getReceipt | [height, txHash] — ana zincirin tek parametreli getReceipt’inden farklı olarak iki parametre | Yürütme makbuzu |
solidus_submitTransaction | [hexTransaction] — ana zincirin JSON dizgesine dönüştürülmüş işleminden farklı olarak, hex kodlanmış, bincode ile serileştirilmiş bir işlem | Hex kodlanmış işlem hash’i |
Ana testnet’in sunduğu solidus_chainInfo, solidus_nodeInfo, solidus_didResolve veya diğer
yöntemlerin hiçbiri yoktur — birini çağırmak {"error":{"code":-32601,"message":"Method not found"}} döndürür.
curl -X POST https://devnet-v2.solidus.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"solidus_getStateRoot","params":[],"id":1}'// Response — measured live
{ "jsonrpc": "2.0", "id": 1, "result": "e4638ab60f7236b5d57e096fd68aae262313c9748f93e2c5b93f14b08e75a267" }curl -X POST https://devnet-v2.solidus.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"solidus_getReceipt","params":[141208,"<hex tx hash>"],"id":1}'// Response — shape
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"txHash": "<hex>",
"status": "success",
"failureReason": null,
"blockHeight": 141208,
"feePaid": "10000",
"eventCount": 1
}
}solidus_submitTransaction, hex kodlanmış, bincode ile serileştirilmiş işlem baytları bekler —
ana testnet’te solidus_sendTransaction’ın aldığı JSON dizgesine dönüştürülmüş işlem biçimini
kabul etmez. İki zincir tel (wire) uyumlu değildir; burada kontrol etmeden bir testnet SDK
işlem kodlayıcısını yeniden kullanmayın.
GET /
Bir tarayıcı GET /, düz bir açılış sayfası döndürür (nginx, JSON-RPC sunucusunun POST olmayan
isteklerdeki 405’ini yakalar ve statik HTML sunar) — rpc.solidus.network’ün kullandığı aynı
çift kullanım deseni.
Faucet
solidus-noded faucet, aynı kutuda /faucet/ altında proxy’lenen, testnet düzeyinde bir hız
sınırına sahip, ayrı bir systemd birimi olarak çalışır. Bu zincirin kendi dev-genesis token’ını
dağıtır — gerçek SLDS’i değil.