在 Rust 中开发 substrate runtime 时是否有必要使用宏?
Is it necessary to use macros while developing substrate runtime in rust?
当我查看与基板相关的项目代码时,我感到非常惊讶。太难懂了,到处都是运行时宏
现在,您可以更轻松地基于 Substrate 框架开发自己的区块链。最困难的部分可能是如何让 rustc 接受你的代码。
在Substrate上开发不需要使用宏。你可能知道,宏最终会扩展为真正的 rust 代码,所以如果你了解 Substrate 在该级别的内部工作原理,那么你当然可以自己编写该代码,但这肯定不如使用宏那么容易.
我相信宏扩展到您编写的代码行数的大约 3 倍,并且包含我们试图对普通运行时开发人员保持不透明的逻辑。
运行时宏可能难以调试或使用是一个公平的批评,但我们正在寻求通过使用 Rust 属性宏并更接近传统 Rust 语法来解决这个问题。
在此处查看跟踪问题:https://github.com/paritytech/substrate/issues/5678
当我查看与基板相关的项目代码时,我感到非常惊讶。太难懂了,到处都是运行时宏
现在,您可以更轻松地基于 Substrate 框架开发自己的区块链。最困难的部分可能是如何让 rustc 接受你的代码。
在Substrate上开发不需要使用宏。你可能知道,宏最终会扩展为真正的 rust 代码,所以如果你了解 Substrate 在该级别的内部工作原理,那么你当然可以自己编写该代码,但这肯定不如使用宏那么容易.
我相信宏扩展到您编写的代码行数的大约 3 倍,并且包含我们试图对普通运行时开发人员保持不透明的逻辑。
运行时宏可能难以调试或使用是一个公平的批评,但我们正在寻求通过使用 Rust 属性宏并更接近传统 Rust 语法来解决这个问题。
在此处查看跟踪问题:https://github.com/paritytech/substrate/issues/5678