在CPChain智能合约开发入门一文中,我们介绍了CPChain的智能合约用例的部署与编写用例。当然,执行一项智能合约除了代码之外,还需要消耗一定量的Gas,在CPChain中,什么是 Gas呢?今天这篇文章就来给大家具体的讲讲 Gas。 Gas 是什么 Gas 是用于支付给在电脑上记录交易及其他行为的费用,在 CPChain 区块链系统中,智能合约和转账等操作的执行,都需要付出一定的代价,这个代价就是Gas 。 本质上,Gas 其实是一个单位,用于测量进行某些操作需要的计算量,也就是用来衡量一个操作有多少工作量。在CPChain主链中运行的所有智能合约中,每一行代码的执行都需要一定量的 Gas 来计算,也就是说,每个合约中可以使用的命令都会有一个相应的Gas 值。 所有消耗 Gas 的操作均在configs/protocol_params.go中进行。 下面是一个用例,该用例演示了非智能合约交易的Gas费用并创建了一个智能合约。 在这个用例中,正常的交易费用为 21,000 Gas,创建智能合约的成本为 53,000 Gas。 Gas Price&Gas Limit 除了 Gas 之外,Gas Price 和 Gas Limit 也是两个不可忽视的重要概念。 其中,Gas Price是记录交易时或者进行其他软件操作时的费用。当节点申请交易时,系统会基于链上的交易历史记录来计算Gas价格。但是,Gas价格也是可调的。只要节点能够负担,便可以将其定义为任何价格。Gas价格高的交易更有机会被出块委员会选中,并生成到区块中。但这会增加节点的开销。 Gas Limit:指的是节点将在交易中支付的最大气体。Gas ≤Gas Limit,Gas Limit 限制了智能合约中交易费用的上限,并且避免了当智能合约中发生报错时(例如过多的循环)时,出现意外高 Gas 费用的情况。当节点申请交易时,可对Gas Limit进行调整,CPChain为其提供了默认设置,以防止出现Gas耗尽的情况。 Gas 费用计算 一笔交易的费用为 Gas × Gas Price,但是,对于涉及多个操作流程的智能合约交易,往往是直到整个交易终止后才能确定费用。因此,当节点申请交易时,需要支付Gas Limit × Gas Price的费用,当交易终止后,未使用的费用(Gas Limit?Gas)×Gas Price 退还给该节点。 值得注意的是:当交易费用为 Gas× Gas Price 时,不需要退还。即使交易失败,例如涉及超出 Gas 限额的异常合同,系统也不会退还已扣除的费用,原因是出块委员会节点已经付出了一定的成本来验证此交易,应从交易费用中获得报酬,此外该机制还有助于防范某些节点恶意占用整条链的计算能力。 —- 编译者/作者:CPChain物信链 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
技术科普 | 详解 CPChain Gas 机制
2019-12-11 CPChain物信链 来源:区块链网络
LOADING...
相关阅读:
- Chainlink (LINK)将韩国顶级银行的外汇汇率数据引入 DeFi,有望打开一个2020-08-01
- 霍洛斯星际云自由能源开启未来财富新世界2020-08-01
- ETH价格可能被低估||V神警告DeFi智能合约风险||YFII是中国人的DeFi2020-08-01
- 区块链板块大热2020-08-01
- Messari:DeFi聚合器的受欢迎程度将继续增长2020-07-31