`solana deploy`与`solana program deploy`的区别有哪些?
solana deploy 与 solana program deploy 命令区别详解 solana deploy是Solana CLI 早期版本的遗留废弃命令,仅为向后兼容保留,无任何生产使用价值。它的执行逻辑是直接将编译后的程序二进制写入普通账户的数据存储区,生成的账户没有executable可执行标记,属于普通账户,确实无法接收和处理合约调用交易,仅相当于把二进制数据上传存储到链上。solana program deploy是当前官方唯一推荐的合法程序部署命令,遵循标准的Solana BPF程序部署流程:会先创建临时缓冲区账户分片上传程序二进制,校验完整后再将缓冲区升级为带有executable标记的程序账户,同时绑定独立的程序数据账户存储程序版本、升级权限等元数据,生成的账户可以正常被交易调用,是实际开发部署合约时应该使用的命令。
solana deploy目前已经不存在实际的部署可用合约的意义,它是Solana还未形成标准化程序部署体系时期的过渡产物,官方已经在CLI帮助文档和开发文档中明确标注该命令废弃,后续版本会被完全移除,日常开发完全不需要使用该命令。
内容的提问来源于stack exchange,提问作者Carles Mitjans
相关产品推荐
相关产品推荐

