咱们很快乐与大家分享 Gear 的最新进展,当初网络性能残缺! 咱们曾经迈过这个微小的里程碑,接下来咱们将把重点转向代码优化,并为测试网的全面公布做筹备。这一阶段将波及外部审查和第三方审计,用以进步安全性和性能。
2 月份,咱们在开发过程中有几项重要的更新,咱们特意在这里与大家分享。
本月的次要更新是 gstd crate,更新后的 gstd crate 容许从程序中发送音讯,而无需明确设置 gas 限度。换句话说,当应用 msg::send(), msg::reply()
和相干函数时,咱们不须要设置解决这些音讯所需的 gas 限度。Gas 将主动从父音讯中借用。留神,这是一个突破性的扭转,因为以后函数的签名曾经扭转。新函数 msg::send_with_gas(), msg::send_commit_with_gas() 和 msg::send_bytes_with_gas()
被引入,用于在须要时发送有明确 gas 限度的音讯。想理解更多细节,请查阅 gstd::msg 文档。
咱们为程序实施公布了补丁 1 和补丁 3。当初,一个程序不仅能够由用户提交,也能够由其余程序提交。首先,用户必须通过调用内部的 submit_code 来存储代码,并接管代码 id。而后,程序能够通过提供代码 id、salt 和 init 音讯来应用 prog::create_program_with_gas()
函数在链上创立一个新的程序实例。这个函数返回新创建程序的 id。开发者能够通过更改 salt 参数来创立多个程序实例。
咱们从新设计了用于计算 gas 费的 RPC 调用。当初不仅能够计算出解决一个音讯所需的 gas 量,而且还能够计算出初始化一个程序和解决应答所需的 gas 量。当初,该节点承受三个 RPC 调用:
- gear_getInitGasSpent 用于计算提交和初始化一个新程序时的 gas 量;
- gear_getHandleGasSpent 用于获取解决一条音讯的 gas 量;
- gear_getReplyGasSpent 用于计算回复用户邮箱中的信息所需的 gas 量。
另一个更新是回滚状态机制。在这种状况下,胜利的执行是指在程序完结前或通过调用没有陷阱的 wait 来实现的执行。即便呈现陷阱,也不会有任何变动影响链:没有内存(状态)变动,没有传出音讯,只提供零碎谬误回复。另外,咱们减少了一个非凡的零碎调用 leave,以引起一些 panic(人工陷阱)退出执行,但保留状态和传出音讯。
另一个新的零碎调用 exit 也曾经实现。它事后进行了一个程序的执行,并将该程序从存储器中删除。当初所有可用的程序余额被转移到 exit 参数指定的地址。另外,从当初开始,程序中的价值治理容许从链上治理账户余额。间接发送的最小值取决于节点的 ExistentialDeposit。
咱们规范化了缺失函数入口的状况。换句话说,如果某些函数入口点(init、handle 或 handle_reply)未被提供,则意味着这个函数是空的。
咱们增加了一个 gear-wasm-builder crate。gear-wasm-builder 是一个用于构建脚本(又称 build.rs)的辅助工具箱。它有助于构建智能合约并取得 WASM 二进制文件(.wasm)以及只需在 build.rs 脚本中增加一行代码便能够生成优化(.opt.wasm)和元数据(.meta.wasm)输入。此外,它还能够应用更间接的命令来启动构建 (仅仅是 cargo 构建,不须要任何附加参数),并保障在测试(cargo 测试) 之前创立合约。
另一个重要的技术更新是,当初咱们能够通过唤醒逻辑保留音讯上下文。之前咱们无奈通过 wait-wake 存储 msg::send_push 和 msg::reply_push 传递的不残缺的有效载荷,因为咱们没有存储具体音讯执行的上下文,当初咱们不仅具备这种能力,还解决了程序发送多个回复时的 bug。
本月,咱们社区举办了两场在线 Workshop,一场面向中文用户,与 Forge 单干的另一场则面向英文用户。后续,咱们将与 Forge 独特举办 Workshop 的第二局部。这场 Workshop 十分具备实践性,所有参与者将学会在 Gear 上部署他们的第一个智能合约。
继咱们在世界各地举办一系列教育 Workshop 之后,咱们很开心与 @escomunidad 单干,在墨西哥举办了首场 Workshop!另外,在 2 月份,咱们在比特币大使馆酒吧组织了咱们在墨西哥的第一次团聚。
在此,咱们向各位参与者示意衷心的感激!咱们将在将来举办更多具备互动性和沉迷式的 Workshop 和 Meetup,请继续关注咱们,获取最新资讯!
同时,咱们真挚感激社区成员制作的视频和文章,欢送关注咱们的 Twitter,查看相干信息。
此致,
Gear 团队
对于 GearFans
Gear 是波卡生态的计算组件,GearFans 是 Gear 爱好者社区。
- 官网:https://gear-tech.io/
- Twitter:https://twitter.com/gear_techs
- GitHub:https://github.com/gear-tech
- Discord:https://discord.com/invite/7B…
- Medium:https://medium.com/@gear_techs
- Telegram 群:https://t.me/gear_tech
- Telegram 中文群:https://t.me/Gear_CN
- Telegram 中文开发群:https://t.me/gear_dev_cn
- QQ 群:677703337