Skip to Content
NetworkDevnet v2

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 şekilde rpc.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:

MethodParamsReturns
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 parametreYü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şlemHex 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.

Last updated on