copy
- 被修饰的值可以被复制
drop - 被修饰的值在作用域结束时可以被丢弃
- drop能力的结构体中的数据类型都要有drop能力
- UID没有drop能力,所以Object没有drop
- 基本数据类型被默认了drop能力
key - 被修饰的值可以作为键值对全局状态进行访问
store - 被修饰的值可以被存储到其他结构体
逐个分析
- 只有key
- 定义对象
- 自定义转移规则
- 对象有全局ID,可以被全局存储和查找
- 只有store
- 被修饰的值可以被存储到其他结构体
- 只有drop
- 被修饰的值在离开作用域时会被自动析构(删除)
- 基本数据类型默认实现了drop
- key,store
- 对象可以被任意转移,不被转移规则限制
- 可以用public_transfer方法跳过if等限制
- 对象有全局ID,可以被全局存储和查找
- 对象可以被任意转移,不被转移规则限制
- 没有任何能力
- 只在当前事务中
- key和drop不能同时存在
- 全局存储和丢失有冲突
- key和copy也不能同时存在
- key的UID具有唯一性
- copy和drop
- 做日志
- emit
- 做日志