http://www.7klian.com

Conflux 的 CVM 和 EVM 虚拟机层的主要区别

出块速度
存储押金机制发生的区别
Conflux 的出块速度是每秒 2 个块,比以太坊快许多。假如智能合约的代码逻辑里硬编码了出块速度,需要作出相应的改变。
· Gas Limit: 燃料上限。对付未用完的 gas, Conflux 最多只退还 Gas Limit 的 1/4,所以发出生意业务前,务必预计一个较量准的燃料上限。
· Conflux 中尚有一些其他的区别,是合约的开拓者与利用者不需要体贴的,这里我们略去。

· Conflux 建设的合约代码上限是 49152 字节,比以太坊多一倍。
存储押金的价值是 1/1024 CFX/byte。每个存储单位计 64 字节。除此之外,合约建设后,代码也要收存储押金。
共鸣机制发生的区别
Conflux 回收了树图布局,当区块排序后,每一个区块会发生一个排序编号,,这个排序编号差异于区块高度。因为树图布局排序后,相邻的两个区块大概没有父子干系,所以编号为  n-1  的区块不必然是编号为   n  区块的父亲区块。
在 Conflux 中,每个生意业务需要填写存储上限,单元是字节。假如存储上限填写的过高,高出了账户余额所能付出的存储押金,生意业务就会失败。假如存储上限填写过低,导致生意业务执行竣事时实际新增的存储高出了存储上限,生意业务也会失败。
生意业务的存储上限域
在以太坊中, BLOCKHASH (0x40)  指令 (Solidity 中的  block.blockhash(n)  函数) 接管区块编号(区块高度)  n 作为输入,输出区块高度对应的哈希值。个中参数高度  n  与生意业务执行时地址区块高度相差不行以高出 256,不然会返回 0。
· 当用户提倡一笔生意业务时,Conflux 所需要填写的信息有所区别。不外一般 RPC 和 SDK 会替开拓者和用户做好这件工作。

在这里,Conflux 团队成员将敞开心扉,权威理会 Conflux 网络最新希望、生态构建历程等信息,没有八卦、没有小道动静,绝对干货、绝对各抒己见,想要 360° 无死角相识 Conflux,来这里就够了!
· 合约建设后,建设者(即合约建设时的  msg.sender )自动成为合约的打点员。打点员有权销毁合约,或转移打点员权限给他人。打点员可以是普通地点,也可以是合约地点。
· Epoch Height: 生意业务执行时的(或许的)epoch。假如生意业务执行时实际的 Epoch 与生意业务填写的 Epoch Height 相差 100000 以上(Epoch 编号增长 100000 的时间在半天到几天不等),生意业务将执行失败。也就是说,过长时间未被打包的生意业务将无法执行。
· 请查抄本身的合约里有没有硬编码以太坊的相关地点。
· Chain ID: 编号。划定可以执行这笔生意业务的区块链编号,制止有人将测试网的生意业务拿到主网上重放。今朝,测试网的 Chain ID 是 1,主网的 Chain ID 是 2。
另外,以太坊的  BLOCKHASH (0x40)  指令可以询问生意业务地址区块前 256 个区块的哈希值,而 Conflux 的指令只能询问前一个区块的哈希值。可是,Conflux 的参数数量和以太坊没有区别。
量就可以了。在 Conflux 中,所有  SSTORE (0x55)  指令耗损的燃料都是 5000 gas。对较量,在这里的逻辑很巨大。不外,一般开拓者不需要体贴每个指令的详细 gas 订价,只需要通过 RPC 预计整个生意业务的燃料用量就可以了。
存储押金的价值是 1/1024 CFX/byte。每个存储单位计 64 字节。除此之外,合约建设后,代码也要收存储押金。
区块高度和区块哈希相关的指令
· Recipient: Conflux 的地点算法与以太坊有区别。所有公钥生成的地点前四个 bits 都是 0001,所有合约地点前四个 bits 都是 1000。所有内置合约地点前四个 bits 都是 0000。假如收款地点 recipient 的前四个 bits 不是这三者之一,生意业务执行失败。
· Storage Limit: 存储上限。详见 生意业务的存储上限域 小节。
其他区别
写存储耗损的燃料
Conflux 中  BLOCKHASH (0x40)  指令 (Solidity 中的  block.blockhash(n)  函数)接管区块排序编号  n  作为输入。相应的, NUMBER (0x43)  指令(Solidity 中的 block.number  变量)获得的也是排序编号。
将EVM字节码移植到Conflux上
Conflux 回收了存储押金机制。执行智能合约时,假如通过  SSTORE (0x55)  指令往存储中写入非零数据的时候,则需要付出存储押金。当这段数据被清空时,存储押金会被退还给付出者。
生意业务中的信息填写
一个最简朴的方案是,通过 Conflux RPC 估算(详见相关章节)生意业务需要的存储上限。可能,可以通过  n*1024  的公式计较账户余额最高支持的存储上限。(个中  n  为付出了生意业务费和账户转账用度后的余额。为了保险起见,也可以填一个小一点的数,如  n*1000 )
Conflux 回收了存储押金机制。执行智能合约时,假如通过 SSTORE (0x55) 指令往存储中写入非零数据的时候,则需要付出存储押金。当这段数据被清空时,存储押金会被退还给付出者。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读