Wrapped
CellMates(WCELL币),为了使合约被视为标准的一部分,它需要实现一组特定的方法和事件,并遵循其行为方式的逻辑规则。在本例中,我们感兴趣的两个EIP是EIP20和EIP721。
这两个标准之间有一些相似之处,但一般来说,ERC-20适用于可替代代币,其中所有项目都是相同的(例如金钱),而ERC-721适用于不可替代代币,其中每个项目都是唯一的(例如交易卡))。
CellMates可能是第一个尝试严格结合这两个标准的合约,因为所有其他类似概念(例如ERC-404)并不严格遵循这两个标准的规范,而是做出妥协,使得一个部分产生更多的内容比另一个“有意义”(在ERC-404的情况下,总供应/用户余额以1e18为单位,这对于代币有意义,但对于NFT则不然,因为这是一个非常大的供应/余额)。
传输效率
从转账的角度来看,使用ERC-20,您可以使用相同数量的Gas转账1或1,000,000个代币,但通常使用ERC-721,转账10个代币比转账1个代币贵10倍,因为它们都是独特的物品,并且合同中的核算方式不同。
CellMates使这两种传输类型等效,同时仍提供与普通ERC-20传输类似的低成本。实现这一目标的方法是通过最小化合约级别的存储更新,而不是为每个代币更新一个变量(例如新所有者是谁),而是仅使用一个bytes32值更新所有余额更改。
CellMates的总供应量仅为256,这也是一个bytes32值的位数。使用它作为二进制掩码,它可以跟踪多个令牌的所有权,同时仅使用一次存储更新。
例如,仅使用bytes1值:
0x3d=00111101
从右向左读取,此掩码表明它们拥有令牌0、2、3、4和5。
计算1的数量还提供了余额,在本例中为5。