? 什么是 Pallet?
Substrate 是一个用于构建区块链的框架,这些区块链可以是独立的,也可以是连接到 Kusama 或 Polkadot 的平行链。其中 Runtime 包含所有链上状态转换的逻辑,它是模块化的,由一个个 Pallet 组成。Substrate Runtime Frame 提供了许多模块,在 Substrate 中称为 “ Pallets ”。这些 Pallets 针对现代区块链的常见需求,例如质押、同质化代币、非同质化代币、治理等,提供了现成的解决方案。
? 为什么开发者需要 Pallet?
使用 Substrate 就像使用模块化的脚手架来建造一栋房子,开发团队可以完全依托这些模块来构建理想的区块链应用。Substrate 提供了一个庞大的开源模块和模板库,这些预定义的应用逻辑就像不同功能的脚手架部件,可以显著加快开发进程。
如果当前的模块库中找不到所需的模块也无需担心。开发者可以通过 Rust 的宏和脚手架代码来自定义符合自身需求的功能模块。对于有创意和冒险精神的开发者来说,Pallet 提供了一个友好的开发创新平台,让他们自由地使用低级原语对区块链设计进行创新。
创业初期的团队通常会经历从零开始开发项目的历程。为了降低项目复杂度和缩短开发时间,Substrate 的 Pallet 包含了各种功能模块,通过 FRAME 开发环境,开发者可以选择和配置在运行时使用的特定 Pallet。这就像在建房子时选择不同的脚手架组件一样,使用 Substrate 的 Pallet,开发者可以灵活地组合和配置,构建出最符合需求的区块链应用。
? 主要的 Pallet 及其应用场景
FRAME 开发环境已经包含了常用的 Pallet 模块,例如共识机制、区块时间戳、资产和余额管理以及治理模块等。此外,随着 Polkadot 技术的升级,更多功能的 Pallet 也在投入使用。
NFT Pallet:允许开发者在 DApp 中轻松实现与 NFT 相关的操作,包括铸造、存储、转移或销毁 NFT 等等。
XCM Pallet:用于执行和发送 XCM 信息,可以将资产从起始链路由至目标链。
Substrate 的 Pallet 还扩展了适用于不同场景的功能模块,广泛使用的比如 Pallet-contracts。
适用场景:在平行链中自由添加智能合约的功能。
实现方式:以 WebAssembly 文件作为输入,以 Pallet-contracts 作为执行环境,平行链只需包含这个模块,用 WebAssembly(Wasm)架构编译,就能轻松添加智能合约在平行链中。
对于合约开发者来说,他们可以使用 ink! 编写智能合约,也可以选择其他熟悉的语言,包括 AssemblyScript 的 ask! 或是 Solidity 的编译器 Solang。Pallet - contracts 的 API 包含大约 50 个函数,可用于智能合约所需的任何功能。
? Pallet 与以太坊模块化的区别
以太坊最近的模块化概念和 Polkadot 生态的 Pallet 有异曲同工之妙。以太坊将运行区块链的几大核心任务做成了可插拔的模块组件,这些模块包括执行、共识、结算和数据可用等。而 Polkadot 的模块化具有更细的颗粒化,从底层的网络协议,共识机制,执行虚拟机,Runtime 都可以做到模块化。由每个 Pallet 组成的 Runtime 则是将各类模块包含在 FRAME 执行环境,具有极大的灵活度,可以自由组合,然后提供给平行链或者自治链自行调用。
以太坊的模块化方法是让每条模块链执行 1 至 2 个核心功能,例如 Rollup 处理执行层,共识或结算则外包给其他的链。而 Polkadot 的 Pallet 则提供了更多的灵活性和可定制性,让开发者可以根据自己的需求选择和配置适合的模块。
不难发现,Pallet 是 Substrate 中用于构建区块链应用程序的模块化组件。它们为开发者提供了预定义的功能模块,加速了开发进程并降低了复杂性。通过 FRAME 开发环境,开发者可以灵活地选择和配置 Pallet,构建出最符合需求的区块链应用。相比于以太坊的模块化概念,Pallet 提供了更多的灵活性和可定制性,是区块链开发的强大工具。
? 进阶之路,由此启程
区块链开发第八期课程火热报名中!
区块链开发很复杂。它涉及像分布式网络通信这样复杂的技术,为应用程序的运行和用户的信任提供一个安全平台。还有一些围绕规模、治理、互操作性和可升级性的棘手问题需要解决。这种复杂性为开发者创造了一个需要克服的高门槛。考虑到这一点,OneBlock+ 推出《 Substrate 开发进阶与项目实战》,由 Polkadot 社区开发者孙凯超 、资深 Polkadot 开发者周俊、资深智能合约开发者王大锤联合授课!帮助大家在复杂中梳理出一条开发学习的明确路径!
? Substrate 开发进阶课第八期,免费入学,仅限 100 人!?
本课程通过讲解 Pallet 开发技巧、结合任务帮助学习课程的开发者熟练掌握项目开发技能,并迅速实现项目落地。如果你想要进一步学习 Substrate 技术框架,参与波卡黑客松。如果你觉得缺少系统化的学习和实践机会,自学难效率低。只要你有编程基础掌握至少一门语言(类型不限)即可开启进阶学习之旅!快来运用 Substrate 技术,开启你的项目开发之旅吧!
来源:金色财经