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 中使用

Apache-2.0

2MB
37K SLoC

一种使用网络参与购买彩票的彩票托盘。

使用此托盘,您可以配置一个彩票,这是一个用户贡献的资金池,并在彩票期结束后将资金重新分配给单个用户。就像一个正常的彩票系统一样,为了参与,您需要“购买一张票”,用于资助资金池。

此彩票系统的独特之处在于,彩票只能通过通过此托盘发出的“有效调用”购买。通过将某些调用配置为对彩票有效,您可以鼓励用户在您的网络上执行这些调用。一个例子是将验证者提名设置为一个有效的彩票调用。如果彩票设置为每月重复一次,那么用户将鼓励每月重新提名验证者。用户在每个彩票中只能使用每个有效调用购买一张票。

此托盘可以配置为使用动态设置的调用或静态设置的调用。调用验证通过 ValidateCall 实现。此模块提供了一种使用 CallIndices 存储项的实现。您还可以在运行时级别进行自定义实现,这可能包含更复杂的逻辑,例如参数验证,这是该模块单独无法完成的。

此模块使用模运算符选择随机赢家。众所周知,如果在不能被参与者总数完美整除的范围内选择随机数,这可能会引入偏差。《code>MaxGenerateRandom 配置可以通过生成新的数字直到达到限制或找到一个“公平”的数字来帮助减轻这种偏差。这只是一种尽力而为的方法。

依赖关系

~18–33MB
~558K SLoC