[BUG]接收 vite 后,原有的配额会被清空


  • Reward

    有详细的文档说明么?


  • Reward

    目前没有。实际应用中不建议依赖累积配额,如果需要配额,请抵押更多代币。


  • Reward

    @Allen 按照这种说法,别人只要一直给我发小额交易,我自己的配额永远都是0,累计不起来了,感觉不合理啊


  • Reward

    @MrFox 配额是可以累积的。

    • 配额的计算是按照你账户上上一笔交易被快照的高度(假设为 a )到 当前快照块高度 之间累积加起来的,也就是你所说积累。如果你累积了210000配额,理论上你此时可以发送 21笔不带备注的交易,但是必须这个21个块都引用同一个快照块高度。

    • 但是如果有别人给你发送一笔交易,这笔交易引用的snapshot块比较新,那你接收这个块时引用的snaptshot块就不能低于这个块高度,就会导致你的账户链上最新的块引用的高度(假设为 b ),这时,如果你的账户的最新交易引用的快照高度为 a,你累积的配额为:b - a 这个区间累积的配额。此时如果有一个未接受交易,你登录钱包,就会自动接收,会导致该交易引用的块比较新(假设为 c),此时的配额为:c - b 这个区间累积的配额。

    所以你上面的情况就是,你接收交易引用的snapshot高度比较新,导致 c - b 这个区间累积的配额较少。

    顺便说一下,配额主要是面向Business,如果是一个交易所需要频繁发币,最好的做法是,关掉自动接收,然后先发送交易再手动接收交易。

    当然最土豪的做法是直接抵押更多的vite,抵押的vite越多,配额增长的越快。

    按照这种说法,别人只要一直给我发小额交易,我自己的配额永远都是0,累计不起来了,感觉不合理啊

    关于这个问题,后续钱包会开启自动接收限制,例如:

    • 只接收特定币种,例如,只接收vite和vcp,其他币种就不自动接收
    • 设置接收门槛,例如只接收数量 >1 的vite

  • Reward

    @Leo 哇, 非常感谢详细的回复,这下就完全明白了 👍


  • Reward

    @Leo 讲解的相当透彻 给力


  • Reward

    @Leo said in [BUG]接收 vite 后,原有的配额会被清空:

    @MrFox 配额是可以累积的。

    • 配额的计算是按照你账户上上一笔交易被快照的高度(假设为 a )到 当前快照块高度 之间累积加起来的,也就是你所说积累。如果你累积了210000配额,理论上你此时可以发送 21笔不带备注的交易,但是必须这个21个块都引用同一个快照块高度。

    • 但是如果有别人给你发送一笔交易,这笔交易引用的snapshot块比较新,那你接收这个块时引用的snaptshot块就不能低于这个块高度,就会导致你的账户链上最新的块引用的高度(假设为 b ),这时,如果你的账户的最新交易引用的快照高度为 a,你累积的配额为:b - a 这个区间累积的配额。此时如果有一个未接受交易,你登录钱包,就会自动接收,会导致该交易引用的块比较新(假设为 c),此时的配额为:c - b 这个区间累积的配额。

    所以你上面的情况就是,你接收交易引用的snapshot高度比较新,导致 c - b 这个区间累积的配额较少。

    顺便说一下,配额主要是面向Business,如果是一个交易所需要频繁发币,最好的做法是,关掉自动接收,然后先发送交易再手动接收交易。

    当然最土豪的做法是直接抵押更多的vite,抵押的vite越多,配额增长的越快。

    按照这种说法,别人只要一直给我发小额交易,我自己的配额永远都是0,累计不起来了,感觉不合理啊

    关于这个问题,后续钱包会开启自动接收限制,例如:

    • 只接收特定币种,例如,只接收vite和vcp,其他币种就不自动接收
    • 设置接收门槛,例如只接收数量 >1 的vite

    如果清空是因为引用值更新的话,那引用值更新的时候把历史的配额值也记录下来是否就可以避免这样的问题了? 这样的话,现有的配额就等有配额余额+ 上新的高度差产生的配额, 也不用关心是否开启了自动接收交易,也不会引起大面积的写操作


  • Reward

    @MrFox 配额计算是属于内置合约,和账户链是并行的,更新配额值会打破现有的约束。我们之所以依然选择当前的方案,是因为当前方案对系统负担小,不会额为增加存储,不会打破约束。

    Receive块引发配额清空问题并不是一个严重问题,并不是一个必须要解决的问题。使用配额的business 是可以从业务上规避问题的。


  • Reward

    @Leo 好的,了解了👍


  • Reward

    跟着学习了 ✌


Log in to reply