# MOVE语言首个GAS设计:链上GAS费用计算方法MOVE语言的早期版本原本打算在无GAS环境下运行,因此没有为GAS计划做好准备。近期,一个区块链项目为其MOVE语言实现设计了首个GAS计划,这被称为"一场冒险"。该GAS计划阐明了制定GAS的原则、流程、计算方法、后期调整以及接受社区建议的态度。GAS计量是许多区块链的基本概念,它定义了执行和存储链上交易所需的计算和存储资源量的抽象计算。GAS计划确定链上所有执行的成本,用于计算交易执行期间的GAS花费。### 流程为了有效执行,该链上的流程是:1. 定义原则2. 准备评估框架,确定每个执行的价格3. 为Move建立GAS计量系统和安全GAS代数4. 导入上游GAS框架5. 使GAS框架具有存储意识6. 进一步细化GAS计划### 原则定义的原则包括:1. 操作成本与网络可用资源直接相关,技术改进后GAS成本应降低2. GAS由链上治理设置,可无缝配置3. GAS可防止DoS攻击,可根据网络情况快速调整4. GAS价格反映了加速增长和保持区块链可及性的愿望5. 鼓励在设计中做出好的选择,如优先考虑安全性、模块化等### 计算GAS用户提交交易时须指定两个数量:- 最大GAS量:用户愿意为执行交易花费的最大GAS单位数- GAS单价:以每单位GAS的八进制计算,1八进制=0.00000001原生代币交易执行过程中将收取:1. 固定成本2. 执行成本3. 读取成本4. 写入成本最终交易费用 = 消耗的GAS总量 × GAS单价### 建立GAS计划表1. 基本配置:包括交易大小和最大GAS单位2. 交易规模:最初设为32KB,后调整为64KB3. 最大GAS单位:设定为1,000,000,影响交易可执行时长4. 执行:通过基准框架和分析工具评估执行成本5. 存储:考虑存储设备带宽、IOPS容量和永久磁盘占用成本存储GAS费 = 项目费 + (字节费 × 字节数)### 读、创建和写- 读操作:最常见,根据磁盘IOPS和带宽容量校准- 创建操作:成本最高,根据参考磁盘空间校准- 写操作:更新现有项,字节费用与创建相同### 稳定的GAS单位成本固定的GAS单位成本有助于保持GAS计划不变,与原生代币市场价值脱钩。GAS单位以约3位数精度表示。### 社区参与社区成员可以:1. 指出GAS计划不合理之处2. 参与社区讨论3. 对相关治理提案投票### GAS成本调整GAS计划可通过治理提案更改。有时需要更新节点软件并采用新的GAS特征标志。### 未来工作1. 降低执行成本2. 实现多维GAS计算3. 缓解臃肿状态问题该项目正在探索每个项目TTL的概念,在TTL到期时删除未访问的状态项目。
MOVE语言首创GAS设计:链上资源计价与费用计算全解析
MOVE语言首个GAS设计:链上GAS费用计算方法
MOVE语言的早期版本原本打算在无GAS环境下运行,因此没有为GAS计划做好准备。近期,一个区块链项目为其MOVE语言实现设计了首个GAS计划,这被称为"一场冒险"。
该GAS计划阐明了制定GAS的原则、流程、计算方法、后期调整以及接受社区建议的态度。
GAS计量是许多区块链的基本概念,它定义了执行和存储链上交易所需的计算和存储资源量的抽象计算。GAS计划确定链上所有执行的成本,用于计算交易执行期间的GAS花费。
流程
为了有效执行,该链上的流程是:
原则
定义的原则包括:
计算GAS
用户提交交易时须指定两个数量:
交易执行过程中将收取:
最终交易费用 = 消耗的GAS总量 × GAS单价
建立GAS计划表
基本配置:包括交易大小和最大GAS单位
交易规模:最初设为32KB,后调整为64KB
最大GAS单位:设定为1,000,000,影响交易可执行时长
执行:通过基准框架和分析工具评估执行成本
存储:考虑存储设备带宽、IOPS容量和永久磁盘占用成本
存储GAS费 = 项目费 + (字节费 × 字节数)
读、创建和写
稳定的GAS单位成本
固定的GAS单位成本有助于保持GAS计划不变,与原生代币市场价值脱钩。GAS单位以约3位数精度表示。
社区参与
社区成员可以:
GAS成本调整
GAS计划可通过治理提案更改。有时需要更新节点软件并采用新的GAS特征标志。
未来工作
该项目正在探索每个项目TTL的概念,在TTL到期时删除未访问的状态项目。