Cosmos的交易手续费详解

Cosmos Hub发布仅仅2个月,有许多用户仍未弄清楚Cosmos Hub的手续费详情。本篇文章旨在让用户了解交易费后的原理。如此一来,可以高效且安全地发送交易。

深度|详解:Cosmos Hub的交易费

Cosmos Hub发布仅仅2个月,有许多用户仍未弄清楚Cosmos Hub的手续费详情。本篇文章旨在让用户了解交易费后的原理。如此一来,可以高效且安全地发送交易。

超额交易费

 image.png

来源:https://github.com/b-harvest/rescue-fatfinger

上述图中的用户支付了29,959个Atom交易费。如果按照Atom当前的价格换算,价值13.4万美元。

目前该用户当前正在接收其交易验证者的捐款!Node A-Team也加入救援行列,将交易费中的Atom返回原主。

交易费制度

 image.png

Cosmos Hub的交易制度非常简单。对区块链技术感兴趣的人,可能都了解以太坊的燃料费。Cosmos Hub就类似以太坊,它也有一个燃料制度。在区块链中,燃料用于读取和写入状态,以及执行逻辑,在发送交易时,用户会选择最大的燃料费。因此,燃料费用的多少,取决于该交易对区块链造成的负担大小。交易费中包含了燃料费,燃料费公式:total fee=Gas*Gas Price。由各个网络验证人设定燃料费最小值。验证人会估计自己的利润、区块链稳定性等等来设定最低但可接受的燃料费。只有燃料费在设定值范围的交易,才会被打包进区块。

*实际的燃料费并不包含在交易中,但验证人会在验证交易时计算[fee/gas]。高于燃料费设定的交易会进入mempool,等待打包进区块。

燃料费大致决定了交易费大小。如果没有足够的燃料费,则交易失败,同时燃料费不会退还给用户。因此,用户浪费了燃料费,却未交易成功。如果燃料费过高,交易会成功,但高于设定值的燃料费不会退还给用户。燃料费会根据每笔交易的执行逻辑而更改,因此难以计算。我们的钱包会模拟计算,或根据各种交易类型的统计数据算出燃料费范围。

现在讲解我们燃料机制的基本原理,先看看他们在钱包中是如何应用的。

如何使用Gaiacli钱包

假设要在Gaiacli上发送1个代币

首先,我们设置Giacli参数

gaiacli config chain-id cosmoshub-2

gaiacli config node {your_rpc_node}

用以下的简单指令发送交易

gaiacli tx send cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl 1uatom — from test — fees 1uatom

响应

区块高度:372015
TxHash:8C874A6FFF8B2F76CFCD1CCF3471FF2C34EDC2E7786B9DDA3D1C963C16BD4E0A

Raw Log:[{“msg_index”:”0",”success”:true,”log”:””}]

Logs:[{“msg_index”:0,”success”:true,”log”:””}]

GasWanted(系统显示的燃料费):200000

GasUsed(实际使用的燃料费):27561

标签:

活动:发送

发送方:cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl

接收方:cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl

查看交易结果时,发现燃料费设定为200,000。而交易实际消耗的燃料费是27,561。当前,验证人接受低燃料费交易,但未来如果费用过高,高出的费用不会偿退(refund),导致多余损失。因此,燃料费的设定必须更加精确。

发送指令:
gaiacli tx send cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl 1uatom — from test — gas=”auto” — gas-adjustment=1.15 — gas-prices=0.000001uatom

响应:

区块高度:372095

TxHash:31EE7C77D6D1BC31E892B763F7BCFC9237DB6B95C14B15252B4E7319A8DE4E94

Raw Log: [{“msg_index”:”0",”success”:true,”log”:””}]

Log: [{“msg_index”:0,”success”:true,”log”:””}]

GasWanted: 30265

GasUsed: 27585

Tag:

活动:发送

发送方:cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl

接受方:cosmos15vztx5tw4np99favm9gat9tj0hd9x26ucrf8vl

我们可以用“燃料”和“燃料调整”来模拟实际燃料费。模拟的燃料费为: [GasUsed * gas_adjustment]。模拟值可能与实际燃料费有点出入,因此我们将gas_adjustment值提高10-25%,使燃料费设定为最大值。

Lunie

本篇文章不作Lunie具体介绍,如果你是新手,可以访问Lunie指南:

image.png

在Lunie上测试多笔交易后,我们先用Lunie模拟一笔交易,燃料费设定为0.03uatom,算出交易费。我们无法自己设定燃料费,造成用户不便,但这已是最高效的方法,因为Lunie上模拟的值已非常低。

Lunagram

 image.png

来源:https://play.google.com/store/apps/details?id=com.lunamint.lunagram

Lunagram是Cosmos最高效的钱包,直接连接你的Telegram账户。当前,在交易费选定阶段,我们无法设定燃料费,因为燃料费似乎固定为200,000。我们只能更改交易费,随着Cosmos Hub发展壮大,要计算大量的交易费和打包越来越多的交易,200,000燃料费对于每笔交易还是过高了。

Cosmostaion钱包

 image.png

就像前面介绍过的Lunagram,Cosmostation钱包也设定燃料费为200,000,只能调整交易费。

结语

Cosmos系统尚处起步阶段,许多钱包在设定特定费用方面有诸多不便。 当前燃料费不高,交易量也不多,但我们相信未来会改善这点。

Node A-Team(代号:ATEAM)是Cosmos-SDK和基于Tendermint共识链的验证人,当前是Cosmos、IRISnet和Terra的验证人。Node A-Team有各种测试网和主网经验,帮助Cosmos发展和运行安全节点。

ATEAM参与的项目:

Cosmos:“Game of Stake”

IRISnet:“FUXI Betanet”

Terra项目:“Genesis Drill”

ATEAM验证人地址:

cosmosvaloper14l0fp639yudfl46zauvv8rkzjgd4u0zk2aseys

编辑声明:互链脉搏是共享、共建的区块链内容发布平台。进驻内容创作者需遵守《互链脉搏投稿须知》、《互链脉搏专栏号平台服务协议》、《互链脉搏平台运营规范》等平台规定。文章内容为作者个人观点,不代表本站立场且不构成任何投资建议 。本站拥有对此声明的最终解释权。
如果读者发现稿件侵权、失实、错误等问题,可联系我们处理:blockob2018@163.com
0

参与评论

最新评论