[CS] 区块链-智能合约

本文介绍以太坊上的Gas机制如何运作,包括其作用于智能合约部署及运行的过程。Gas作为一种计量单位,确保了区块链资源使用的合理计费。此外,还详细解释了智能合约如何通过SOLC编译器转化为EVM字节码并最终部署到以太坊网络。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gas

和云计算相似,占用区块链的资源(不管是简单的转账交易,还是合约的部署和执行)同样需要付出相应的费用。
以太坊上用Gas机制来计费,Gas也可以认为是一个工作量单位,智能合约越复杂(计算步骤的数量和类型,占用的内存等),用来完成运行就需要越多Gas。
Gas价格由运行合约的人在提交运行合约请求的时候规定,以确定他为这次交易付出的费用:Gas价格(用以太币计价) * Gas数量。
矿工收取相应的工作量费用。
引入gas来解耦。把市场的波动和计算的开销来解耦,也就是说以太币和gas之间是有汇率的,以太币涨没关系,gas价格下降就可以了。它要保证我做同样的计算,消耗的法币是一致的。防止出现这种情况:今天做一个加法需要十块钱,明天做一个加法需要一百块钱。


合约部署原理

部署架构

SOLC智能合约编译器将代码编译成成EVM字节码,然后将EVM字节码通过Geth的RPC接口发送到以太坊网络,经过全网验证后,同时写入到每个Geth管理的区块链中。
这里写图片描述

数据流

代码先经过SOLC编译变为了二进制码,然后通过一笔交易来创建智能合约,该笔交易包含了创建者账号、智能合约内容、智能合约的地址这几个关键信息。
这里写图片描述
部署过程中,需要通过交易来部署,同时数据要存储到区块链上,这些需要使用到GAS。


合约运行原理

区块链本身不能执行代码,代码的执行是在本地的EVM中。
可以理解区块链为一个数据库,而客户端从数据库中读取了存储的运行代码,并在本地运行后,将结果写入到了区块链这个数据库中。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值