欢迎来到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)
● 优化钱包UI界面(#933、#935、#936、#937)
● 使用 BigNumber.js提高数值精度(#952)
● 在解除质押列表中显示预计解除质押时间 ( #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规范。该规范将于四季度实施!
● 整个第三季度,Emerald 和 Cipher ParaTimes 在主网上保持稳定,没有出现停机或其他事件。
● 熊市对 DeFi 使用的影响可以从 Emerald 的交易量中看出。第三季度的日峰值出现在 7 月初,每天大约 6 万笔交易,而后开始稳步下降,截至三季度末,每天的交易量为 1.6 万-1.8 万。
● 截至 9 月 30 日, 52 个节点在主网上运行 Emerald ParaTime。
● 截至 9 月 30 日,已有 29 个节点在主网上运行 Cipher 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兼容的隐私智能合约了,你可以点击下方链接查看教程!
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相关的教程与指南!
你可以点击下方链接留言你的需求。
第三季度发布了Oasis Core 22.1.x 的三个维护版本( v22.1.9、v22.1.10、v22.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 相一致。