Skip to content Skip to footer

Oasis Q3 2022 Inženjerska Ažuriranja

“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.9v22.1.10v22.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.