首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区别在于` `solana部署`和` `solana程序部署`

区别在于` `solana部署`和` `solana程序部署`
EN

Stack Overflow用户
提问于 2021-11-08 14:14:28
回答 2查看 276关注 0票数 5

我目前正在学习使用rust进行Solana开发。我学习了hello-world教程,想知道运行solana deploysolana program deploy有什么不同。

我使用Solana Devnet集群对两者都进行了测试。

Result of running solana deploy

Result of running solana program deploy

我的直觉告诉我,solana deploy正在创建一个简单的Solana帐户,而另一个是创建一个Program帐户。如果不能调用一个事务,那么使用程序创建一个简单的Solana帐户有什么意义?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-11 20:52:15

它们都用于部署程序,但solana program deploy通常是推荐的路线。

solana deploy是较旧的形式,它使用BPF Loader2来部署程序。以这种方式部署的程序是永远不变的。SPL令牌程序使用这个加载器:https://explorer.solana.com/address/TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

solana program deploy是较新的表单,它使用可升级的BPF Loader来部署程序。如果设置了升级权限,则使用此加载器的程序可以选择升级。否则,如果使用--final标志部署,它们也可以是不可变的,就像旧的solana deploy一样。SPL Stake程序使用这个加载器:https://explorer.solana.com/address/SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy

票数 9
EN

Stack Overflow用户

发布于 2021-11-08 21:17:55

我不确定确切的区别是什么,但我可以说solana deploy不会创建一个简单的Solana帐户。因为您可以看到solana deploy部署的帐户的executable字段为YesAssigned Program Id字段为BPF Loader 2BPF Loader可以被认为是其他编程语言的编译器,不是程序帐户的帐户没有BPF Loader赋值。我也会调查一下确切的区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69884904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档