
“Odricanje od odgovornosti: Ovo je prevod člana Oasis zajednice. Ako želite da pročitate originalni članak, posetite: Oasis Q3 2022 Engineering update”
Q3 je bio radan za Oasis inženjerski tim.
Napravili smo velike korake ka donošenju Sapphire-a ka ParaTime sloju sa njegovim izlaskom na Testnet krajem jula. Sada je moguće graditi i dostaviti EVM poverljive pametne ugovore na Sapphire ParaTime na Testnetu — pogledajte upustva ispod!
Dodatno, tim je takođe radio na održavanju Cipher-a i Emerald-a, i ovi ParaTime-ovi sve vreme aktivno rade, bez gašenja.
Oasis Wallet — Web, budući zajednički codebase za sve Oasis Wallet-e, je takođe dobio velika ažuriranja ka podršci browser lokalnog skladišta i Oasis Wallet-Browser ekstenzije 2.0, izgrađene iz zajedničkog codebase-a.
Kroz kvartal, ažuriranja, poboljšanja, i tri maintenance release-a na Oasis Core-u, prožimajućem engine-u koji napaja Oasis node, su takođe napravljena.
Radujemo se nadolazećem razvoju tokom ovog radnog perioda i na putu smo ka četvrtom kvartalu godine, gde će se desiti nova velika ažuriranja; najupečatljivije, izlazak Sapphire-a na Mainnet.
Za sve detalje inženjerskih ažuriranja, molimo vas pogledajte ispod.
AŽURIRANJA WALLET-A
Oasis Wallet — Web doživeo je značajan razvoj u Q3 ka podršci browser lokalnog skladišta i ParaTime transakcija. Planiramo da izdamo podršku za ParaTime-ove kasnije ove godine, što će da prati sledeća generacija Oasis Wallet — Browser Ekstenzije, izgrađena iz ovog zajedničkog codebase-a. Spojili smo 112 pull zahteva. Neki od najznačajnijih dodataka i popravki (uključujući rad na ParaTime grani):
- Show list ParaTime transakcija(#849)
- Browser ekstenzija popravke(#904)
- Dodat lint rules da bi se osigurale naše type-safe zamene(#911, #914)
- Podrazumevan je null bilans umesto 0 (prikazuje se ‘-’ za nepoznat bilans) (#916)
- Jedino se prikazuje AddEscrowForm na vašim nalozima(#918)
- Označene neuspešne transkacije (#925)
- Ne koristiti misleading bilans polja od RPC-a (#927)
- Dodato “Reclaim All” dugme(#931, #932)
- Promenjen UI da liči na Oasis Wallet — Browser ekstenziju (#933, #935, #936, #937)
- Poboljšana brojevna preciznost sa BigNumber.js (#952)
- ParaTime depoziti i povlačenja(#962, #969)
- Prikazano procenjeno debonding vreme u debonding listi (#963)
- Ubrzano učitavanje mrežne konfiguracije za 40% (#976)
- Popravljeno uvoženje više naloga sa Ledger-a(#980)
- Dodata podrška za izvođenje više naloga iz mnemonika (#983)
- Pominje se ispravni ticker u rezimeu naloga (#1026)
- Smanjena veličina paketa (7.2MB -> 5.4MB) sa konzistentnim grommet import-ima (#1038)
- Manje UI popravke i sređivanja(#868, #879, #903, #919, #921, #922, #928, #946, #947, #949, #953, #958, #999, #979, #1019, #1049)
Dok će Oasis Wallet — Web codebase uskoro postati zajednički codebase za oba wallet-a, nastavili smo da unapređujemo Oasis Wallet — Browser Ekstenziju. U Q3, spojili smo 9 pull zahteva i izdali verziju 1.8.0. Značajne promene su:
- Dodato Sapphire na testnet (#279)
- Poboljšana brojevna preciznost u reclaim escrow-u (#281)
- Poll za status sapphire transakcije(transakcije su sada indexovane) (#285)
- Popravljen “invalid nonce” bug (#282)
- Manje UI popravke i sređivanja (#280, #282, #286)
Oasis CLI — zajednički CLI za upravljanje nalozima i pametnim ugovorima na Oasis-u — je takođe dobio unapređenja:
- Dodata podrška za izbacivanje postavljenih WASM ugovora(#1007)
- Dodat ugovorna state dump podrška (#1034)
- Pronalaženje adrese preko imena naloga, dodata podrška za test naloge (#1038)
- Podrška za promenu ugovorne polise poboljšanja(#1052)
- Dodata podrška za knjigu adresa(#1087)
Za potpisivanje ParaTime transkacije sa hardver wallet-om poput Ledger-a, nova ADR 14 specifikacija je predložena. Implementacija će početi u Q4.
AŽURIRANJA PARATIME-A
- Emerald i Cipher ParaTime-ovi su bili stabilni na Mainnet-u kroz Q3, bez gašenja ili drugih incidenata.
- Efekat bear marketa na korišćenje DeFi-a može da se vidi na volumenu transakcija na Emerald-u. Dnevni vrhunac za Q3 je bio početkom Jula sa oko 60k transakcija po danu, opadajaći postepeno i završavajući kvartal sa 16k-18k transakcija dnevno.
- 52 node pokreću Emerald ParaTime na Mainnet-u 30. septembra.
- 29 nodei pokreću Cipher ParaTime na Mainnet-u 30- septembra.
RAZVOJ PARATIME-A
U Q3 smo videli veliku količinu razvoja na Oasis ParaTime-u.
Krajem jula, uspešno smo objavili novi poverljivi EVM-kompatibilni Sapphire ParaTime na Testnetu. Kod je dostupan na sapphire-paratime i oasis-sdk GitHub repozitorijuma.
Da bi sve bilo lakše, dodali smo podršku za dumping obavljenog koda pametnog ugovora na Cipher ParaTime i dumping (opcionalno enkriptovanog) stanja pametnog ugovora. Ovo otvara put za on-chain verifikaciju ugovora i trebalo bi da pomogne sa debugging-om.
Rezime Runtime SDK promena:
- Dodata biblioteka enkripcije transporta na web-ts; derive_symmetric_key testovi za go, rust i typescript (#962)
- ORC alat: Dodata podrška za potpisivanje SGXS binaries (#1056)
- EVM: Ne zahteva enkripciju praznih stringova(#1064)
- Ispravka računanja gasa: Popravljen subcall dispatch (#1066)
- EVM: Prikazani javne podatke u potpisanim upitima (#1069)
- EVM: Dodata enkripcija precompile-a (#1102)
- EVM: Ne šiforvani contract create output (#1138)
- Poboljšani testovi i dokumentacija (#991, #1041, #1046, #1047, #1081, #1101)
AŽURIRANJA DEVELOPER PLATFORME
Sada je moguće izgraditi i objaviti EVM poverljive pametne ugovore na Sapphire ParaTime na Testnetu. Slobodno pogledajte naše uputstvo i dajte nam povratnu informaciju.
Emerald Web3 Gateway sada podržava i Emerald i Sapphire ParaTime-ove. Druge ispravke najviše uključuju podizanje verzije dependency-a. U Q3, spojili smo 9 pull zahteva . Nova v3.0.0 objava je napravljena da popravi funkciju procene gasa, i v3.1.0-rc1 objava je dodala podršku za Sapphire.
Naša Dokumentacija je sačinjena od markdown fajlova sa različitih repozitorijuma, i dobila je veliko preuređivanje u Q3 i za backend i frontend stranu. Frontend kategorije su sada usmerene ka publici umesto usmerene ka komponentama:
- Korisnici Oasis mreže (opšte informacije o Oasis mreži i fonacija, uputstva vezana za wallet)
- Informacije vezane za zajednicu
- Node operateri (Mainnet i Testnet parametri mreži, podešavanja raznih vrsta noda i servisa)
- dApp developeri (pisanje aplikacija za emerald, sapphire, i cipher ParaTime-ove)
- ParaTime developeri
- Core doprinosioci
Backend poboljšanja:
- Podrška za ediovanje bilo kog Markdown fajla nevezano za lokaciju originalnog repozitorijuma
- Lako povezivanje referenciranih .md fajlova i doc kartica sa drugih repozitorijuma
- Podrška za uvoz isečaka koda sa fajlova
- Za backward kompatibilnost, postavljeni su linkovi koji vode ka novoj dokumentaciji za svu staru dokumentaciju
Dokumentacija je migrirala sa docs.oasis.dev na docs.oasis.io domen. Nadamo se da ćete uživati u novim promenama. Budite slobodni da date svoj doprinos, tutorialima, uputstvima i ispravka tako što ćete posetiti https://github.com/oasisprotocol/docs i napraviti pull zajteve!
ADR 17 uvodi standardni format za standarde interoperabilnosti ParaTime-specifičnih aplikacija. Ovo ide u paru sa našim prvim RFP zahtevom za standard za poverljive tokene na Sapphire ParaTime-u.
AŽURIRANJA GLAVNE PLATFORME
Tri održavanja Oasis Core-a 22.1.x su objavljena u Q3 (v22.1.9, v22.1.10, v22.1.11). Paralelno tome, razvoj Oasis Core 22.2.x je počeo sa ključnim odlikama poput Intel SGX2, DCAP-zasnovane provere, poboljšanja na on-chain upravljanju, i TEE-zasnovanoj runtime sigurnosti. Stabilna objava je planirana rano u Q4. Na kraju, 64 pull zahteva su spojeni u Q3. Značajne nove odluke i velike promene su sledeće (većina su zakazana za Oasis Core 22.2.x, a neki i backport-ovani u 22.1.x):
- go/staking/grpc: Promenjeno ime pogrešno nazvane metode GovernanceDeposits (#4652)
- go/runtime: Upravljanje upotrebom runtime kontrole rasporeda(#4665)
- Dodata podrška za PCS proveru(#4806, #4789, #4720, #4752)
- go/governance: Dodate promene predloga parametara(#4938)
- Dodata podrška za mod arhiviranja (#4539)
- go/control: Prikazani statusi debug opcija u kontroli output-a (#4634)
- runtime: Napravljeno podesivo stanje prezistentnog transaction check-a (#4640)
- go/runtime/txpool: Limit na outstanding transakcije po pošiljaocu (#4665)
- go/control/status: Dodata polja za brzi overview stausa node-a(#4669)
- go/worker/storage: Napravljen checkpoint sync peer selection pametnijim (#4671)
- runtime: provera epoha u dispečeru koristeći konsenzus verifier (#4677)
- go/worker/compute: Osiguranje da je trust root proveren pre registracije (#4678)
- go/worker/compute: Započinje batch resolution rano za backup worker (#4679)
- go/runtime/txpool: Dodat roothash podataka nadolazećih poruka kao transkacije (#4681)
- go/worker/registration: Dodata metrika statusa noda(#4686)
- runtime: Omogućeno dispatcher-u da proveri status integriteta za upite(#4694, #4830, #4904)
- go/worker/common/p2p: Dodata podrška za persistent i blokirane peers (#4713)
- go/worker/common: Pravni način za upravljanje dinamičnim key manager konfiguracijama(#4715)
- go/runtime/txpool: Dodat txpool metrika za odbijene runtime transakcije (#4724)
- runtime: Potvrda RAK u konsenzusnom stanju kada se zahtevi služe (#4741)
- runtime: Dodata podrška za prijavu EnclaveRPC peer povratnih informacija (#4757)
- archive-mode: onesposobljen runtime P2P ako se koristi arhiv mod (#4775)
- go/consensus/tendermint: Dodat consensus.tendermint.halt_height (#4793)
- net-runner: Dodat— fixture.default.runtime.version flag (#4813)
- go/oasis-node: Dozvoljeno km da ima privatne peers (#4821)
- go/runtime/registry: Dozvoljeno klijent nodama da pokreću run sgx runtime-ove (#4832)
- go/worker/keymanager: Dodate metrike key manager worker(#4877)
- go/control/status: Dodat key manager worker status na node status (#4883)
- keymanager: Dodata podrška za ephemeral ključeve (#4888)
- oasis-net-runner: Postavljen default max_allowances, povećan test test nalog bilans(#4902)
- runtime/consensus/verifier: Podrška za poboljšanje trust root konsenzus sloja(#4903)
- runtime: Podrška upita konsenzusnog događaja (#4904)
- keymanager: Validiranje poslednjeg trust root height-a u zahtevu key manager-a(#4910)
- registry: Dodata ProveFreshness konsenzus sloj transakcija(#4916)
- runtime: Dodata verifikacija TEE freshness klijent node (#4922)
- keymanager: Verifikacija da je polisa objavljena u konsenzus sloju (#4925)
- Povezivanje TEE provere sa nodama i primoravanje svežine (#4926)
- go/genesis: Kešovanje izračunatog genesis dokumentovanog hash-a(#4919)
- go/oasis-node/cmd: nesigurni-reset čuva lokalno skladište kao podrazumevano (#4700)
- go/oasis-node/cmd: nesigurni-reset proverava validnost datadir(#4702)
- runtime: Emituje runtime logove kao oasis-node logove (#4709, #4924)
Novi Oasis Indexer, koji podržava indeksovanje i konsenzus-sloja i ParaTime transakcija, je postao otvoren. U Q3, pažnja je prvenstveno bila na građenju osnovnih odlika, dodavanju kašinga, ispravci grešaka, i unapređenju alata za objavu. 25 PRs su merge-ovani. Planiramo da ažuriramo Oasis Novčanike da koriste Oasis Indexer u budućnosti.
ADR 15 je predložen za slabost u procesu kojim se biraju predlagači blokova u ParaTime-u. Predlagač bloka se trenutno bira putem round-robin algoritma, što već unapred čini trivijalnim odabir predlagača za blok. ADR 15 predlaže mehanizma za randomizovanje reda predlagača bloka ParaTime-a.
ADR 16 predlaže efikasniji proces za ažuriranje konsenzusnih parametara na Oasis Mreži. Trenutno, za promenu konsenzusnih parametara, potrebno je ažurirati oasis-node binaries, restartovati ih i ponovo uskladiti sa novom verzijom konsenzus mreže. ADR 16 dodaje nov ChangeParametersProposal predlog upravljanja koji može da spreči gašenje i poboljša robustnost mreže.