📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
MOVE语言首创GAS设计:链上费用计算全解析
MOVE语言首个GAS设计:探索链上GAS费用计算方法
MOVE语言的上一版本原本计划在无GAS环境下运行,因此未为GAS设计做好准备。最近,一个区块链项目团队为其基于MOVE语言的链推出了首个GAS设计方案,这被称为一次"冒险"尝试。
在这个GAS方案中,团队明确了制定GAS的原则、流程、计算方法、后期调整机制,并表示欢迎社区提供建议。
GAS计量是该项目和许多其他区块链的基本概念,它定义了执行和存储链上交易所需的计算和存储资源量的抽象计算。GAS方案确定了链上所有执行的成本,用于计算执行交易期间使用的GAS费用。
流程
为了有效执行,该项目在链上的流程是:
原则
定义的原则包括:
计算GAS
用户提交交易时需指定两个数量:
执行过程中,交易将被收取:
最终交易费用 = 消耗的GAS总量 × GAS单价
例如,如果一笔交易消耗670个GAS单位,用户指定的GAS单价为每单位100 Octa,那么最终交易费用为670 × 100 = 67000 Octa = 0.00067原生代币。
如果交易执行过程中耗尽GAS,发送方将按最大GAS量收费,且交易所做的所有更改将被撤销。
建立GAS计划表
GAS计划包含与单个操作无关的几个组成部分,如交易大小和最大GAS单位。
大多数交易规模在千字节级别,但Move模块发布可达几千字节,该项目框架约100 KB。最初交易规模设为32KB,后根据社区需求调整为64KB,以简化应用开发。
GAS计划中的最大GAS单位定义了单个交易可执行的最大操作数。设置过高可能对区块链性能产生负面影响。目前设定为1,000,000,即使最大框架升级也未超过90%。
通过基准框架和分析工具评估执行成本,估算所有Move指令和本机函数的相对成本。考虑系统稳健性和安全性,得出最终执行的机器指令数量,并与存储和最大GAS单位进行权衡。
存储GAS计划考虑了数据访问的瞬时稀缺性和永久磁盘占用成本。访问和存储状态项产生与验证整个区块链状态相关的成本。存储GAS费 = 项目费 + (字节费 × 字节数)
读、创建和写
状态项访问分为读、创建和写三种类型,各有不同的费用计算方式。读操作最常见,创建操作成本最高,写操作介于两者之间。
基于这些考虑,定义了6个GAS参数:
稳定的GAS单位成本
每个操作和交易本身需要相对于存储和执行成本的固定单位成本,这有助于保持GAS计划稳定。该项目团队以约3位数精度表示GAS单位,使转账交易成本约为700个GAS单位。
社区参与
作为社区项目,成员可以:
如何调整GAS成本?
GAS计划作为链上配置存储,可通过治理提案更改,并可无缝添加新指令或原生功能。GAS参数可随时间调整,以适应项目和社区的发展。
某些复杂的GAS公式更改可能需要更新节点软件,并通过新的GAS特征标志区分。这需要节点运营商广泛采用新软件,并通过治理提案批准使用新版本。
未来工作
作为Move语言的首个可行GAS框架,该项目为未来工作铺平了道路:
这个GAS设计为MOVE语言生态系统的发展提供了重要基础,未来还有很多优化和改进的空间。