📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
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语言生态系统的发展提供了重要基础,未来还有很多优化和改进的空间。