授权

授权对一个世界至关重要,就像授权对任何智能合约都至关重要一样。

正如World一章所讨论的,自治世界(AW)的功能是嵌套在公共区块链中的主权链。这些世界也对公众开放。这种结构允许任何人通过部署组件或系统来增强世界。然而,这种开放性也带来了安全方面的考虑。与以太坊类似,在系统中与组件的状态进行交互需要获得组件所有者的适当授权。

验证架构

每次在 System中调用 set!时,世界都会检查 System是否拥有更新组件状态的授权。只有当System拥有必要的授权时,set!才会被执行。下图说明了授权架构。

授权架构

提供授权

组件的部署者是其初始所有者。组件所有者可以授予别人 ownerwriter角色。只有所有者才能授予系统 writer角色,使其可以更新组件。

sozo 提供了一个授权系统的便捷工具。

sozo auth writer Moves spawn

该命令将为 spawn 系统生成一个 writer 授权,以更新 Moves 组件。