【问题标题】:How to create a staking smart contract?如何创建质押智能合约?
【发布时间】:2021-12-09 21:54:46
【问题描述】:

我是智能合约的新手,但想在 Solana 中创建一个简单的权益合约。 但不明白何时需要更新每个用户的奖励计数器?因为合约与写账户交互,只有当用户为此付费时。但在所有质押协议中,我们可以看到质押后的奖励计数。这怎么行? 以及如何一次性更改 APY?

我只发明了一种方法——在链下程序中保存计数器,但认为这不是正确的方法

【问题讨论】:

    标签: blockchain smartcontracts solana


    【解决方案1】:

    其中很多都归结为设计,但有一些建议:

    但不明白何时需要更新每个用户的奖励计数器?

    您不一定需要一直更新。事实上,许多质押协议会跟踪用户最后一次支付奖励的时间,但在用户尝试提款之前不会真正改变价值。对于前端,只需要根据用户的位置进行动态计算即可。

    通过查看协议的源代码,您可能会发现更多有趣的信息。例如,Orca 的合约基于 SPL 的代币交换:https://github.com/solana-labs/solana-program-library/tree/master/token-swap

    否则,https://github.com/solana-labs/solana-program-library/tree/master/farms 可能会有更多通用客户端和代码

    【讨论】:

    • 谢谢!经过一些头脑风暴和研究后,我也在考虑这种方法:)
    猜你喜欢
    • 2021-12-18
    • 2021-10-18
    • 2022-07-21
    • 2020-06-01
    • 2019-01-19
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多