DinoPoker(RAWR币),2,000个NFT的集合,每个NFT都是随机生成的,并在铸造时明确确定。完全存储在链上,包括图像和元数据。
PNG到SVG到OnChain
TinyDinos从PNG到SVG并最终到BasedOn Chain
Dinos的转变是一个细致的过程。最初,PNG格式的每个恐龙特征都被转换为SVG,这是一种非常适合区块链集成的矢量格式。SVG是首选,因为它使用代码来创建和显示图像,从而允许高效的区块链存储。此过程涉及使用node.js脚本以及手动调整,以确保每个特征都能以SVG格式准确表示。
根据TokenID保存特征
每个Dino的特征都与智能合约中的特定TokenID唯一相关。这种结构允许将特定特征与每个NFT关联起来。该过程涉及在智能合约中创建一个结构,其中包括各种特征类别,如身体、胸部、眼睛、面部、脚、头部和尖刺。分配给该结构中每个特征的编号对应于其在特征数据数组中的位置,从而将每个特征与适当的TokenID链接起来。
在铸造过程中随机分配特征
在铸造过程中,特征以随机方式分配给每个恐龙。这是通过累积加权系统实现的,该系统可以控制性状的稀有性。
每个特质类别都有一个概率数组,确保特质的分布不仅是随机的,而且在稀有度方面也是平衡的。这种方法确保了恐龙的多样性,其中一些特征比其他特征更稀有、更独特。
链上伪随机性
这种随机性是使用Solidity中的keccak256函数实现的,该函数根据最后一个块哈希和代币ID生成随机种子。
然后使用这些种子为每个类别选择性状,确保性状的分配是随机但受控的。伪随机性的使用为铸造过程增添了不可预测性和令人兴奋的元素,使每个恐龙都独特且具有收藏价值。