Skip to content Skip to footer

Sapphire推出、钱包优化、多维度更新 | Oasis 第三季度工程技术回顾


欢迎来到Oasis团队2022年第三季度的工程技术进展总结,让我们一起通过本篇文章了解Oasis团队在第三季度取得的最新成就!

对于Oasis工程技术团队来说,第三季度又是异常忙碌的几个月。

7月底,Sapphire在测试网上发布,为了将Sapphire引入ParaTime层,我们做了许多努力,也取得了巨大进步,现在我们很高兴的向社区宣布:开发者已经可以在测试网上的Sapphire ParaTime上构建和部署与EVM兼容的隐私智能合约了。

与此同时,我们对Cipher和Emerald的关注也丝毫没有减弱,这些ParaTime并没有停止运作,并且我们对其进行不断更新,以满足用户的更多需求!

另外,我们在支持钱包浏览器上的本地存储以及ParaTime交易方面也进行了一些重大升级,这些升级将进一步推动Oasis 钱包浏览器拓展程序端2.0版本的推出!它将是基于通用代码库构建的!

最后,整个第三季度Oasis Core(Core是为Oasis节点提供动力的底层引擎)也在持续更新与改进,目前三个维护版本也已经完成!

在第三季度硕果累累的丰收喜悦中,我们也开始规划第四季度的工作,我们相信Oasis在2022年第四季度也将取得重大进展,有更多更新!最值得关注的是,我们将在第四季度在主网上发布Sapphire!

一起继续往下阅读,了解更多Oasis在第三季度取得的成就!

钱包更新

Oasis网页端钱包在第三季度取得了重大进展,现在已支持浏览器上的本地存储和ParaTime交易,另外我们计划在今年晚些时候发布对ParaTimes的支持,并推出基于通用代码库构建的拓展程序端钱包2.0版本。

在第二季度,我们合并了112个请求, 值得一提的优化内容如下(主要为功能的完善和修复):

● 显示 ParaTime 交易列表 ( #849 )

● 浏览器扩展修复 ( #904 )

● 添加 lint 规则以强制执行我们的类型安全替换(#911#914

● 默认为空余额而不是 0(显示「 — 」表示未知余额)(#916

● 仅在您的账户上显示:AddEscrowForm( #918 )

● 标记失败的交易(#925

● 不要使用 RPC 中的误导性余额字段(#927

● 添加「回收所有」按钮(#931#932

● 优化钱包UI界面(#933#935#936#937

● 使用 BigNumber.js提高数值精度(#952

● ParaTime 存款和取款(#962#969

● 在解除质押列表中显示预计解除质押时间 ( #963 )

● 将加载网络配置的速度提高 40% ( #976 )

● 修复从 Ledger 导入多个账户 ( #980 )

● 添加对从助记符派生多个账户的支持(#983

● 在账户摘要中提及正确的股票代码 ( #1026 )

● 通过一致的grommet imports减少包大小(7.2MB -> 5.4MB)(#1038

● 较小的 UI 修复和清理(#868#879#903#919#921#922#928#946#947#949#953#958#999#979#1019 , #1049 )

虽然Oasis网页端钱包很快就会成为两个钱包的通用代码库,但是我们对拓展程序端的关于与也没有因此而止步,在三季度我们合并了9个需求,并发布了拓展程序端钱包的1.8.0版本,显著的变化有:

● 在测试网上添加Sapphire(#279

● 提高收回托管中的数值精度(#281

● 轮询Sapphire交易状态(交易现在被索引)(#285

● 修复「无效随机数」错误(#282

● 较小的 UI 修复和清理(#280#282#286

作为一个用于管理你在 Oasis上账户和智能合约的统一CLI,Oasis CLI也有了一些改进:

● 添加对转储已部署 WASM 合约的支持 ( #1007 )

● 添加合约状态转储支持 ( #1034 )

● 按账户名查找地址,添加对测试账户的支持(#1038

● 支持更改合约升级政策 ( #1052 )

● 添加对地址簿的支持(#1087

为了使用 Ledger 等硬件钱包签署 ParaTime 交易,我们已经提出了新的ADR 14规范。该规范将于四季度实施!

ParaTime更新

● 整个第三季度,Emerald 和 Cipher ParaTimes 在主网上保持稳定,没有出现停机或其他事件。

● 熊市对 DeFi 使用的影响可以从 Emerald 的交易量中看出。第三季度的日峰值出现在 7 月初,每天大约 6 万笔交易,而后开始稳步下降,截至三季度末,每天的交易量为 1.6 万-1.8 万。

● 截至 9 月 30 日, 52 个节点在主网上运行 Emerald ParaTime。

● 截至 9 月 30 日,已有 29 个节点在主网上运行 Cipher ParaTime。

ParaTime发展

第三季度,Oasis ParaTimes 取得了多项重大进展。

7 月底,我们在测试网上成功部署了与EVM兼容的首个隐私ParaTime Sapphire,该部分代码可在sapphire-paratime和oasis-sdk GitHub存储库中找到。

为方便起见,我们添加了对Cipher ParaTime上转储部署的智能合约代码以及转储(可选加密)智能合约状态的支持。这为验证链上的合约铺平了道路。

Runtime SDK的更新总结如下:

● 为 web-ts 添加加密传输库;用于 go、rust 和 typescript 的 derived_symmetric_key 测试(#962

● ORC 工具:添加对 SGXS 二进制文件签名的支持 ( #1056 )

● EVM:不需要加密空字符串(#1064

● Gas 计算修复:修复子调用调度(#1066

● EVM:在签名查询中公开公共数据 ( #1069 )

● EVM:添加加密预编译(#1102

● EVM:不编码合约创建输出(#1138

● 改进的测试和文档(#991#1041#1046#1047#1081#1101

开发者平台更新

现在开发者已经可以在测试网上的Sapphire ParaTime中构建和部署与EVM兼容的隐私智能合约了,你可以点击下方链接查看教程!

https://docs.oasis.io/dapp/sapphire/

Emerald Web3 网关现在支持 Emerald 和 Sapphire ParaTimes。其他修复主要包括版本的更新及功能的完善。在第三季度,我们合并了 9 个请求。版本v3.0.0修复了Gas估算功能,版本v3.1.0-rc1增加了对 Sapphire 的支持。

我们的文档由来自多个存储库的markdown文件组成,并且在第三季度从后端和前端方面进行了重大改革。前端类别文档现在更关注用户观看体验,可读性更强!

前端改进:

● Oasis网络用户(关于 Oasis 网络和基金会的一般信息,钱包相关指南)

● 社区相关信息

● 节点运营商(Mainnet和Testnet网络参数,设置各种节点和服务)

● dApp 开发人员(为Sapphire、Emerald和Cipher ParaTimes编写应用程序)

● ParaTime 开发人员

● Core贡献者

后端改进:

● 无论原始存储库位置如何,都支持编辑任何 Markdown 文件

● 无缝链接引用的 .md 文件和来自其他存储库的.doc文件

● 支持从文件中导入代码片段

● 为了向后兼容,已为所有以前的文档设置了重定向

此外文档已从docs.oasis.dev迁移到docs.oasis.io域。我们希望你会喜欢新的变化。你也可以留下你的需求,我们会第一时间处理,当然我们也欢迎广大用户贡献Oasis相关的教程与指南!

你可以点击下方链接留言你的需求。

访问https://github.com/oasisprotocol/docs

Core平台更新

第三季度发布了Oasis Core 22.1.x 的三个维护版本( v22.1.9v22.1.10v22.1.11)。与此同时,Oasis Core 22.2.x 的开发始于英特尔 SGX2、基于 DCAP 的证明、改进链上治理和基于 TEE 的运行时安全性等关键特性。计划在第四季度初发布稳定版本。总体而言,第三季度合并了64 个请求。值得注意的新功能和重大更改如下(大部分计划在 Oasis Core 22.2.x 中登陆,有些被向后移植到 22.1.x):

● go/staking/grpc:重命名错误命名的 GovernanceDeposits 方法(#4652

● go/runtime:强制使用运行时调度控制(#4665

● 添加对 PCS 证明的支持(#4806#4789#4720#4752

● go/governance:添加更改参数提案(#4938

● 添加存档模式支持(#4539

● go/control:在控制输出中显示调试选项状态(#4634

● runtime:使持久交易检查状态可配置(#4640

● go/runtime/txpool:限制每个发件人的未完成交易(#4665

● go/control/status: 添加字段以快速查看节点状态 ( #4669 )

● go/worker/storage:使检查点同步对等点选择更智能(#4671

● runtime:使用共识验证器在调度程序中验证 epoch ( #4677 )

● go/worker/compute:确保在注册之前验证信任根(#4678

● go/worker/compute:为备份工作人员尽早开始批量解析(#4679

● go/runtime/txpool:将 roothash 传入消息的数据添加为交易(#4681

● go/worker/registration:添加节点状态指标(#4686

● runtime:启用调度程序来验证查询的状态完整性(#4694#4830#4904

● go/worker/common/p2p:添加对持久和阻塞对等点的支持(#4713

● go/worker/common:正确处理动态密钥管理器配置(#4715

● go/runtime/txpool:为被拒绝的运行时交易添加 txpool 指标 ( #4724 )

● runtime:在服务请求时验证 RAK 处于共识状态(#4741

● runtime:添加对报告 EnclaveRPC 对等反馈的支持 ( #4757 )

● 归档模式:如果使用归档模式,则禁用运行时 P2P ( #4775 )

● go/consensus/tendermint: 添加consensus.tendermint.halt_height ( #4793 )

● net-runner: 添加-fixture.default.runtime.version 标志(#4813

● go/oasis-node: 允许 km 拥有私有节点 ( #4821 )

● go/runtime/registry:允许客户端节点运行 sgx 运行时(#4832

● go/worker/keymanager: 添加关键管理器工作指标 ( #4877 )

● go/control/status:将 key manager worker 状态添加到节点状态(#4883

● keymanager:添加对临时密钥的支持(#4888

● oasis-net-runner:设置默认 max_allowances,增加测试账户余额(#4902

● runtime/consensus/verifier:支持信任根共识层升级(#4903

● runtime:支持共识交易查询(#4904

● keymanager:验证密钥管理器请求中的最新信任根高度(#4910

● registry:添加 ProveFreshness 共识层交易(#4916

● runtime:添加客户端节点 TEE 新鲜度验证(#4922

● keymanager:验证策略是否已在共识层中发布(#4925

● 将 TEE 证明绑定到节点并强制执行新鲜度 ( #4926 )

● go/genesis: 缓存计算的 genesis 文档哈希 ( #4919 )

● go/oasis-node/cmd: unsafe-reset 默认保留本地存储 ( #4700 )

● go/oasis-node/cmd: unsafe-reset 检查 datadir 有效性(#4702

● runtime: 将运行时日志作为 oasis-node 日志发出 ( #4709 , #4924 )

新的Oasis Indexer支持索引共识层和 ParaTime 交易,已开源。在第三季度,重点主要是构建基本功能、添加缓存、修复错误和改进部署工具。25 个需求 已合并。我们计划在未来更新 Oasis 钱包以使用 Oasis Indexer。

ADR 15提出了一种随机化 Paratime 块提议者顺序的机制。解决选择 ParaTime 块提议者的过程中的弱点。区块提议者目前是通过循环算法选择的,这使得提前确定给定区块的提议者变得很简单。

ADR 16提出了一种更有效的流程来更新 Oasis 网络上的共识参数。目前要更改共识参数,需要更新 oasis-node 二进制文件,重新启动它们并与新的共识网络版本重新同步。ADR 16 添加了一个新的参数更改 提案,可以防止停机并提高网络的稳健性。

ADR 17为特定于 ParaTime 的应用程序互操作性标准引入了标准格式。 这与我们第一个请求 Sapphire ParaTime 的隐私可替代代币标准的 RFP 相一致。

以上便是Oasis在第三季度所取得的主要工程技术成就,欢迎大家持续关注 Oasis 生态的发展!