
适用范围:区分代币与游戏规则
以下讨论适用于使用以太坊及 ERC-721 表示虚拟猫的应用,不代表某个具体养猫项目的实现。以太坊开发文档解释计算资源如何计费,OpenZeppelin 的 ERC-721 文档说明独特代币的所有权及元数据机制。两者分别涉及运行成本和对象表示,不能单凭这些标准确认某款游戏的完整规则。
操作为什么需要费用
在以太坊上执行交易需要消耗 Gas,费用取决于实际消耗量和有效单价。涉及智能合约的复杂操作通常比简单转账需要更多计算;网络需求也会影响费用。

因此,界面上同样是点击一次,背后的计算工作可能不同。如果养猫操作需要修改链上状态,就不能只用按钮数量判断成本,也不能将某次费用视为固定收费。

操作失败为什么仍可能扣费
需要区分交易执行前被拒绝和进入执行后失败。前者可能不消耗 Gas;后者已经占用了计算资源,即使状态回滚,仍会产生费用。执行中耗尽 Gas 时,所提供的 Gas 会被消耗。
Gas 上限限制计算用量,并不等于最终实际用量。排查失败时,应区分合约条件不满足与计算额度不足,不能把所有失败都理解为同一种故障。
一只猫的唯一性由什么保证
ERC-721 用于表示彼此不同的代币,并提供所有权查询机制。它可以为游戏对象建立独立身份,但不自动规定外观、属性或繁育规则。
代币身份不同,不等于图片必然不同,也不等于游戏属性不能相同。讨论虚拟猫的“唯一性”时,应明确指的是代币标识,还是内容与玩法层面的差异。
图片和属性为什么可能变化
OpenZeppelin 文档展示了通过 tokenURI 指向元数据的方式。代币所有权可以在链上,而名称、图片及属性可能来自链外文件;链外内容可能被修改。将信息全部放到链上则会增加成本。
所以,“猫在链上”并不必然意味着所有内容都在链上。判断展示信息的稳定性,需要分别了解代币记录、元数据与图片的存储位置,以及谁有修改权限。
铸造权限为什么必须单独检查
OpenZeppelin 的教学示例允许任何账户调用物品铸造函数,并明确指出可用访问控制限制调用者。示例说明了基本机制,不是完整的游戏权限方案。
对于养猫应用,采用 ERC-721 并不会自动限制谁能创建新猫。技术核查应把所有权、创建权限和属性修改权限分开,避免把“符合代币标准”误解成“所有游戏规则都受到保证”。