如果不允许使用浮点库,我们如何在Scrypto中生成随机数?我希望能够为NFT生成唯一的I。
发布于 2022-04-11 22:46:11
解决这个问题的方法有两种:
如果数据结构是trivial.
vec.len() + 1作为生成的ID,从而使事物更多地使用Uuid - Scrypto提供了Runtime::generate_uuid,这是Uuid中生成的数字格式,可以保证的唯一性。
我们还可以生成给定最大范围的值:
fn get_random(end: usize) -> usize {
let num = Runtime::generate_uuid();
(num % end as u128) as usize
}
// prints number between 0 - 5
info!("{}", get_random(5));发布于 2022-08-26 08:56:40
您可以使用内置的非NonFungibleId::随机()方法生成一个伪随机NFT id。
let new_nft_id: NonFungibleId = NonFungibleId::random();参考资料:https://radixdlt.github.io/radixdlt-scrypto/scrypto/resource/struct.NonFungibleId.html
https://stackoverflow.com/questions/71835123
复制相似问题