El tercer trimestre ha sido otro par de meses ocupados para el equipo de ingeniería de Oasis.
Oasis Fundation.- Hemos dado grandes pasos para llevar Sapphire a la capa ParaTime con su lanzamiento en Testnet a finales de julio. Ahora es posible crear e implementar contratos inteligentes confidenciales de EVM en Sapphire ParaTime en Testnet. ¡Busque el tutorial a continuación!
Además, el equipo también ha trabajado para mantener Cipher y Emerald, con estos ParaTimes sin tiempo de inactividad.
Oasis Wallet: Web, la futura base de código común para todas las Oasis Wallets, también ha tenido algunas actualizaciones importantes para admitir el almacenamiento local del navegador y las transacciones ParaTime. Esto nos acerca al lanzamiento de Oasis Wallet — Browser Extension 2.0, creado a partir de la base de código común.
A lo largo del trimestre, también se realizaron actualizaciones continuas, mejoras y tres lanzamientos de mantenimiento para Oasis Core, el motor subyacente que alimenta los nodos de Oasis.
Esperamos aprovechar este período ocupado y pasar al cuarto trimestre del año, donde se realizarán otras grandes actualizaciones; más notablemente, el lanzamiento de Sapphire en Mainnet.
Para obtener detalles completos de la actualización de ingeniería, consulte a continuación.
ACTUALIZACIONES DE WALLET
Oasis Wallet – Web experimentó un desarrollo significativo en el tercer trimestre hacia el soporte del almacenamiento local del navegador y las transacciones ParaTime. Planeamos lanzar soporte para ParaTimes a finales de este año, seguido de la próxima generación de Oasis Wallet — Browser Extension , construida a partir de esta base de código común. Fusionamos 112 solicitudes de extracción . Algunas de las adiciones y correcciones más notables (incluido el trabajo en la rama ParaTimes ):
- Show list of ParaTime transactions (#849)
- Browser extension fixes (#904)
- Add lint rules to enforce our type-safe replacements (#911, #914)
- Default to null balance instead of 0 (show ‘-’ for unknown balance) (#916)
- Only show AddEscrowForm on your accounts (#918)
- Mark failed transactions (#925)
- Don’t use misleading balance fields from RPC (#927)
- Add “Reclaim All” button (#931, #932)
- Change UI to resemble Oasis Wallet — Browser extension (#933, #935, #936, #937)
- Improve numeric precision with BigNumber.js (#952)
- ParaTime deposits and withdrawals (#962, #969)
- Display estimated debonding time in debonding list (#963)
- Speedup loading network configuration by 40% (#976)
- Fix importing multiple accounts from Ledger (#980)
- Add support for deriving multiple accounts from mnemonic (#983)
- Mention the correct ticker in account summary (#1026)
- Reduce bundle size (7.2MB -> 5.4MB) with consistent grommet imports (#1038)
- Smaller UI fixes and cleanups (#868, #879, #903, #919, #921, #922, #928, #946, #947, #949, #953, #958, #999, #979, #1019, #1049)
Si bien Oasis Wallet -Web pronto se convertirá en la base de código común para ambas billeteras, hemos seguido mejorando Oasis Wallet: Extensión del navegador . En el tercer trimestre, fusionamos 9 solicitudes de extracción y lanzamos la versión 1.8.0 . Los cambios notables son:
- Agregado Sapphire en testnet ( #279 )
- Mejora de la precisión numérica en la recuperación de depósito en garantía ( #281 )
- Encuesta sobre el estado de la transacción de zafiro (las transacciones están indexadas ahora) ( #285 )
- Arreglado el error “nonce no válido” ( # 282 )
- Corrección y limpieza de UI más pequeñas ( #280 , #282 , #286 )
La CLI de Oasis , una CLI unificada para administrar su cuenta y contratos inteligentes en Oasis, también ha visto algunas mejoras:
- Add support for dumping deployed WASM of contracts (#1007)
- Add contracts state dump support (#1034)
- Lookup address by account name, add support for test accounts (#1038)
- Support changing contract upgrades policy (#1052)
- Add support for address book (#1087)
Para firmar transacciones de ParaTime con carteras de hardware como Ledger, se ha propuesto una nueva especificación ADR 14 . La implementación comenzará en el cuarto trimestre.
ACTUALIZACIONES DE PARATIME
- Emerald y Cipher ParaTimes se mantuvieron estables en Mainnet durante el tercer trimestre y no experimentaron tiempo de inactividad ni otros incidentes.
- Los efectos del mercado bajista en el uso de DeFi se pueden ver en los volúmenes de transacciones en Emerald. El pico diario para el tercer trimestre fue a principios de julio con aproximadamente 60 000 transacciones por día, disminuyendo constantemente y finalizando el trimestre con 16 000-18 000 transacciones por día.
- 52 nodos ejecutan Emerald ParaTime en Mainnet a partir del 30 de septiembre.
- 29 nodos están ejecutando Cipher ParaTime en Mainnet a partir del 30 de septiembre.
DESARROLLO PARATIME
El tercer trimestre vio una serie de desarrollos importantes para Oasis ParaTimes.
A fines de julio, implementamos con éxito el nuevo Sapphire ParaTime confidencial compatible con EVM en Testnet . El código está disponible en los repositorios de GitHub sapphire-paratime y oasis-sdk .
Para mayor comodidad, agregamos soporte para volcar el código de contrato inteligente implementado en Cipher ParaTime y volcar el estado del contrato inteligente (opcionalmente encriptado). Esto allana el camino para verificar los contratos en cadena y debería ayudar con la depuración.
El resumen de los cambios en Runtime SDK :
- Add encryption transport library to web-ts; derive_symmetric_key tests for go, rust and typescript (#962)
- ORC tool: Add support for signing SGXS binaries (#1056)
- EVM: Don’t require encryption of empty string (#1064)
- Gas computation fix: Fix subcall dispatch (#1066)
- EVM: Expose public data in signed queries (#1069)
- EVM: Add encryption precompiles (#1102)
- EVM: Don’t encode contract create output (#1138)
- Improved tests and documentation (#991, #1041, #1046, #1047, #1081, #1101)
ACTUALIZACIONES DE LA PLATAFORMA DE DESARROLLADOR
Ahora es posible crear e implementar contratos inteligentes confidenciales de EVM en Sapphire ParaTime en Testnet . Siéntase libre de ver un tutorial y darnos su opinión.
El Emerald Web3 Gateway ahora es compatible con Emerald y Sapphire ParaTimes. Otras correcciones incluyen principalmente golpes de versión de dependencia. En el tercer trimestre, fusionamos 9 solicitudes de incorporación de cambios . Se realizó una nueva versión v3.0.0 con correcciones a las funciones de estimación de gas, y la versión v3.1.0-rc1 agregó soporte para Sapphire.
Nuestra documentación se compone de archivos de descuento de múltiples repositorios, y experimentó una revisión importante en el tercer trimestre, tanto desde el backend como desde el frontend. Las categorías de frontend ahora están orientadas a la audiencia en lugar de orientadas a los componentes:
- Usuarios de la red Oasis (información general sobre la red Oasis y la fundación, guías relacionadas con la billetera)
- Información relacionada con la comunidad
- Operadores de nodos (parámetros de red Mainnet y Testnet, configuración de varios tipos de nodos y servicios)
- Desarrolladores de dApp (escribiendo aplicaciones para ParaTimes esmeralda, zafiro y cifrado)
- Desarrolladores de ParaTime
- Colaboradores principales
Mejoras en el back-end:
- Soporte para editar cualquier archivo Markdown independientemente de la ubicación del repositorio original
- Vinculación perfecta de archivos .md referenciados y tarjetas doc de otros repositorios
- Soporte para importar fragmentos de código de archivos
- Para compatibilidad con versiones anteriores, se han configurado redireccionamientos para todos los documentos anteriores
La documentación se migró del dominio docs.oasis.dev al dominio docs.oasis.io . Esperamos que disfrute de los nuevos cambios. Siéntase libre de contribuir con tutoriales, guías y correcciones visitando https://github.com/oasisprotocol/docs y haciendo solicitudes de incorporación de cambios.
ADR 17 introduce un formato estándar para los estándares de interoperabilidad de aplicaciones específicas de ParaTime. Esto va junto con nuestra primera RFP que solicita un estándar de token intercambiable confidencial para Sapphire ParaTime.
ACTUALIZACIONES DE LA PLATAFORMA PRINCIPAL
En el tercer trimestre se publicaron tres versiones de mantenimiento de Oasis Core 22.1.x (v22.1.9 , v22.1.10 , v22.1.11 ).
Paralelamente, el desarrollo de Oasis Core 22.2.x comenzó con características clave como Intel SGX2, atestación basada en DCAP, mejoras en la gobernanza en cadena y seguridad en tiempo de ejecución basada en TEE. Se planea una versión estable a principios del cuarto trimestre.
En general, se fusionaron 64 solicitudes de extracción en el tercer trimestre. Nuevas características notables y cambios importantes a continuación (la mayoría está programada para aterrizar en Oasis Core 22.2.x, y algunas se adaptaron a 22.1.x):
- go/staking/grpc: Rename misnamed GovernanceDeposits method (#4652)
- go/runtime: Mandate the use of runtime schedule control (#4665)
- Add support for PCS attestation (#4806, #4789, #4720, #4752)
- go/governance: Add change parameters proposal (#4938)
- Add archive mode support (#4539)
- go/control: Show the debug option statuses in the control output (#4634)
- runtime: Make persistent transaction check state configurable (#4640)
- go/runtime/txpool: Limit outstanding transactions per sender (#4665)
- go/control/status: Add fields for quick overview of node status (#4669)
- go/worker/storage: Make checkpoint sync peer selection smarter (#4671)
- runtime: verify epoch in dispatcher using consensus verifier (#4677)
- go/worker/compute: Ensure trust root is verified before registering (#4678)
- go/worker/compute: Start batch resolution early for backup worker (#4679)
- go/runtime/txpool: Add roothash incoming messages’ data as transactions (#4681)
- go/worker/registration: add node status metrics (#4686)
- runtime: Enable dispatcher to verify state integrity for queries (#4694, #4830, #4904)
- go/worker/common/p2p: Add support for persistent and blocked peers (#4713)
- go/worker/common: Properly handle dynamic key manager configuration (#4715)
- go/runtime/txpool: Add txpool metric for rejected runtime transactions (#4724)
- runtime: Verify RAK in consensus state when serving requests (#4741)
- runtime: Add support for reporting EnclaveRPC peer feedback (#4757)
- archive-mode: disable runtime P2P if archive mode is used (#4775)
- go/consensus/tendermint: Add consensus.tendermint.halt_height (#4793)
- net-runner: Add — fixture.default.runtime.version flag (#4813)
- go/oasis-node: allow km to have private peers (#4821)
- go/runtime/registry: allow client nodes to run sgx runtimes (#4832)
- go/worker/keymanager: Add key manager worker metrics (#4877)
- go/control/status: Add key manager worker status to node status (#4883)
- keymanager: Add support for ephemeral keys (#4888)
- oasis-net-runner: Set default max_allowances, increase test account balance (#4902)
- runtime/consensus/verifier: Support trust root consensus layer upgrades (#4903)
- runtime: Support consensus event queries (#4904)
- keymanager: Validate latest trust root height in key manager requests (#4910)
- registry: Add ProveFreshness consensus layer transaction (#4916)
- runtime: Add client node TEE freshness verification (#4922)
- keymanager: Verify that policy was published in the consensus layer (#4925)
- Bind TEE attestations to nodes and enforce freshness (#4926)
- go/genesis: Cache computed genesis document hash (#4919)
- go/oasis-node/cmd: unsafe-reset preserve local storage by default (#4700)
- go/oasis-node/cmd: unsafe-reset check datadir validity (#4702)
- runtime: Emit runtime logs as oasis-node logs (#4709, #4924)
El nuevo Oasis Indexer , que admite la indexación de transacciones de capa de consenso y ParaTime, ha sido de código abierto. En el tercer trimestre, la atención se centró principalmente en desarrollar las funciones básicas, agregar almacenamiento en caché, corregir errores y mejorar las herramientas de implementación. Se han fusionado 25 RP . Planeamos actualizar Oasis Wallets para usar Oasis Indexer en el futuro.
Se ha propuesto ADR 15 para abordar las debilidades en el proceso mediante el cual se seleccionan los proponentes del bloque ParaTime. El proponente del bloque se selecciona actualmente a través de un algoritmo de turno rotativo, lo que hace que sea trivial determinar el proponente de un bloque determinado con mucha anticipación. ADR 15 propone un mecanismo para aleatorizar el orden del proponente del bloque Paratime.
ADR 16 propone un proceso más eficiente para actualizar los parámetros de consenso en la Red Oasis. Actualmente, para cambiar los parámetros de consenso, es necesario actualizar los archivos binarios del nodo oasis, reiniciarlos y volver a sincronizarlos con la nueva versión de la red de consenso. ADR 16 agrega una nueva propuesta de gobernanza ChangeParametersProposal que puede evitar el tiempo de inactividad y mejorar la solidez de la red.
a nuestro Discord y síguenos en Twitter !