Conflux 进阶课丨Conflux 的 CVM 和 EVM 虚拟机层的主要区别

Conflux 进阶课

在这里,Conflux 团队成员将敞开心扉,权威解析 Conflux 网络最新进展、生态构建进程等信息,没有八卦、没有小道消息,绝对干货、绝对知无不言,想要 360° 无死角了解 Conflux,来这里就够了!

将EVM字节码移植到Conflux上

Conflux 采用了存储押金机制。执行智能合约时,如果通过  SSTORE (0x55)  指令往存储中写入非零数据的时候,则需要支付存储押金。当这段数据被清空时,存储押金会被退还给支付者。

存储押金的价格是 1/1024 CFX/byte。每个存储单元计 64 字节。除此之外,合约创建后,代码也要收存储押金。

存储押金机制产生的区别

Conflux 采用了存储押金机制。执行智能合约时,如果通过 SSTORE (0x55) 指令往存储中写入非零数据的时候,则需要支付存储押金。当这段数据被清空时,存储押金会被退还给支付者。

存储押金的价格是 1/1024 CFX/byte。每个存储单元计 64 字节。除此之外,合约创建后,代码也要收存储押金。

交易的存储上限域

在 Conflux 中,每个交易需要填写存储上限,单位是字节。如果存储上限填写的过高,超过了账户余额所能支付的存储押金,交易就会失败。如果存储上限填写过低,导致交易执行结束时实际新增的存储超过了存储上限,交易也会失败。

一个最简单的方案是,通过 Conflux RPC 估算(详见相关章节)交易需要的存储上限。或者,可以通过  n*1024  的公式计算账户余额最高支持的存储上限。(其中  n  为支付了交易费和账户转账费用后的余额。为了保险起见,也可以填一个小一点的数,如  n*1000 

写存储消耗的燃料

量就可以了。在 Conflux 中,所有  SSTORE (0x55)  指令消耗的燃料都是 5000 gas。相比较,以太坊在这里的逻辑很复杂。不过,一般开发者不需要关心每个指令的具体 gas 定价,只需要通过 RPC 估计整个交易的燃料用量就可以了。

共识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值