rust - 在 rust 中开发基板运行时是否需要使用宏?
问题描述
当我查看与基板相关的项目代码时,我感到非常惊讶。很难理解,到处都是运行时宏。
现在,您可以更轻松地基于 Substrate 框架开发自己的区块链。最困难的部分可能是如何让 rustc 接受你的代码。
解决方案
在 Substrate 上开发不需要使用宏。您可能知道,宏最终会扩展为真正的 rust 代码,因此如果您了解 Substrate 在该级别的内部工作,那么您当然可以自己编写该代码,但这肯定不会像使用宏那么容易.
我相信宏会在您编写时扩展到大约 3 倍的代码行数,并且包含我们试图保持对普通运行时开发人员不透明的逻辑。
运行时宏很难调试或使用是一个公平的批评,但我们正在寻求通过使用 Rust 属性宏并更接近传统的 Rust 语法来解决这个问题。
在此处查看跟踪问题:https ://github.com/paritytech/substrate/issues/5678
推荐阅读
- arrays - 如何使用 useState 挂钩删除反应原生的对象数组?
- openstack-horizon - 如何在 Openstack Horizon 中启用翻译成其他语言?
- python - 错误:为 psycopg2 构建轮子失败(Ubuntu 20.04 + Python 3.8.5 + venv)
- oracle - liquibase 是否支持带有 oracle 数据库连接的 kerberos 身份验证?
- vb.net - 如何在datagridview中对相同id的值求和?
- django - 按照 url latest 的指示全新安装 Django-CMS 会引发错误
- sql-server - SQL Server Profiler 持续时间与 sp_whoisactive
- python - 如何将 ColumnB 更改为标题和标题更改为 ColumnB
- css - 将 FAB 注销/管理按钮定位到右上角
- python-3.x - 使用 BeautifulSoup 从 HTML 中提取地址标签