34个主要重大版本发布
37.0.0 | 2024年7月18日 |
---|---|
36.0.0 | 2024年7月12日 |
35.0.0 | 2024年6月24日 |
34.0.0 | 2024年5月23日 |
3.0.0 | 2021年2月10日 |
#2 in #lottery
在 polkadot-sdk 中使用
2MB
37K SLoC
一种使用网络参与购买彩票的彩票托盘。
使用此托盘,您可以配置一个彩票,这是一个用户贡献的资金池,并在彩票期结束后将资金重新分配给单个用户。就像一个正常的彩票系统一样,为了参与,您需要“购买一张票”,用于资助资金池。
此彩票系统的独特之处在于,彩票只能通过通过此托盘发出的“有效调用”购买。通过将某些调用配置为对彩票有效,您可以鼓励用户在您的网络上执行这些调用。一个例子是将验证者提名设置为一个有效的彩票调用。如果彩票设置为每月重复一次,那么用户将鼓励每月重新提名验证者。用户在每个彩票中只能使用每个有效调用购买一张票。
此托盘可以配置为使用动态设置的调用或静态设置的调用。调用验证通过 ValidateCall
实现。此模块提供了一种使用 CallIndices
存储项的实现。您还可以在运行时级别进行自定义实现,这可能包含更复杂的逻辑,例如参数验证,这是该模块单独无法完成的。
此模块使用模运算符选择随机赢家。众所周知,如果在不能被参与者总数完美整除的范围内选择随机数,这可能会引入偏差。《code>MaxGenerateRandom 配置可以通过生成新的数字直到达到限制或找到一个“公平”的数字来帮助减轻这种偏差。这只是一种尽力而为的方法。
依赖关系
~18–33MB
~558K SLoC