在Solana中有一些少量的内置原生程序,它们的程序ID格式一般为xxx11111111111111111111111111111111。它们与第三方自定义程序不同,原生程序是validatornode运行所必须的一部分。同时它们也是集群升级的一部分,这些升级可能包括新功能的添加、BUG修复
在Solana中有一些少量的内置原生程序,它们的程序ID格式一般为 xxx11111111111111111111111111111111
。它们与第三方自定义程序不同,原生程序是 validator node 运行所必须的一部分。同时它们也是集群升级的一部分,这些升级可能包括新功能的添加、BUG修复,又或者是性能的优化提升。这些内置原生程序极少的发生变化,目前提供的所有内置原生程序可以在 <https://docs.anza.xyz/runtime/program> 找到。
其中有两个非常重要的程序很值得我们关注,因为我们在开发中,需要经常用到他们。
作用:
Program id: 11111111111111111111111111111111
Instructions: SystemInstruction
作用:
Program id: BPFLoaderUpgradeab1e11111111111111111111111
Instructions: LoaderInstruction
BPF可升级加载器将自己标记为它为存储程序而创建的可执行文件和程序数据帐户的“Owner”。当用户通过程序id调用指令时,Solana运行时会加载您的程序及其所有者BPF Upgradeable Loader。然后,运行时将程序传递给BPF可升级加载器,以便其处理指令。
对于 BPFLoaderUpgradeab1e11111111111111111111111
程序它是作为 Token2022 专用的,它是对 Token 的扩展版,对于 Token 对应的内置程序是 BPFLoader2111111111111111111111111111111111
,两者的区别是后者是无法升级的。
对于这些内置原生程序与三方程序的关系图大概是这个样子的。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!