Is there an elegant mathematical formula that meets our new SFT minting model's algorithm?

Hi, everyone! I’m a product designer form ICPanda DAO.

I would like to seek help from developers to recommend an elegant mathematical formula for the operation of our SFT system.

1. Introduction of the SFT system

The Panda Badges are SFTs (Semi-Fungible Token) officially produced by the ICPanda DAO. Users can purchase Panda Badges using PANDA tokens, allowing them to display their virtual panda avatars on social networks, media streaming platforms, and other Web3 platforms.

2.How it works

Our badge system will be implemented based on NFTs, but will activate a new crowd minting rule that allows a badge to be co-minted by N people. The greater the N, the lower the minting cost for each individual.

For example, with the badge shown in the figure, we support co-minting by multiple individuals. This approach reduces the cost for each participant compared to minting individually, but as the issuer, we receive a higher total amount.

We’re seeking assistance to find a mathematical formula that meets the criteria of the algorithm outlined above. Any contributions are greatly appreciated!

More explanations about the Panda brand: In the culture of ICPanda DAO, we embrace ‘panda’ as a symbol of rarity and value, transcending the mere visual traits of the giant panda. For instance, we cherish the fleeting beauty of fireworks as a ‘Panda Moment’ and might refer to a rare plant species as a ‘Panda Plant.’ This concept captures the essence of uniqueness and significance we attribute to the term 'panda’.

2 Likes

Very nice design :star_struck:
A SFT canister implemented ICRC-7 and ICRC-37 is already on its way :eyes: :

2 Likes

This is an elegant mathematical formula for crowd minting:
image

This is the result of its simulation:

f(1) -> 1.000000, sum: 1.00
f(2) -> 0.846574, sum: 1.69
f(3) -> 0.699537, sum: 2.10
f(4) -> 0.596574, sum: 2.39
f(5) -> 0.521888, sum: 2.61
f(6) -> 0.465293, sum: 2.79
f(7) -> 0.420844, sum: 2.95
f(8) -> 0.384930, sum: 3.08
f(9) -> 0.355247, sum: 3.20
f(10) -> 0.330259, sum: 3.30
f(20) -> 0.199787, sum: 4.00
f(30) -> 0.146707, sum: 4.40
f(40) -> 0.117222, sum: 4.69
f(50) -> 0.098240, sum: 4.91
f(100) -> 0.056052, sum: 5.61
f(200) -> 0.031492, sum: 6.30
f(500) -> 0.014429, sum: 7.21
f(1000) -> 0.007908, sum: 7.91
f(2000) -> 0.004300, sum: 8.60
f(5000) -> 0.001903, sum: 9.52
f(10000) -> 0.001021, sum: 10.21
f(50000) -> 0.000236, sum: 11.82
f(100000) -> 0.000125, sum: 12.51
f(1000000) -> 0.000015, sum: 14.82

Source code: ic-panda/src/ic_panda_badges/src/lib.rs at main · ldclabs/ic-panda · GitHub

2 Likes