本页列出了使用权限、所有权和访问控制的常见示例。
// 为了方便起见,必须从 stdlib 导入 Ownable 以及 Deployable:import "@stdlib/ownable";import "@stdlib/deploy"; message FooBarMsg { newVal: Int as uint32;} // Ownable 特性可以限制某些操作只能由所有者执行Deployable, Ownable 的 SenderChecker 合约 { // 持久状态变量 owner: Address; // Ownable 特性要求你添加这个确切的状态变量 val: Int as uint32; // 一些值 init() { // 我们可以将所有者初始化为我们想要的任何值,在本例中就是部署者: self.owner = sender(); self.val = 0; } receive("inc") { self.requireOwner(); // throws exit code 132 if the sender isn't an owner self.val += 1; } receive(msg: FooBarMsg) { self.requireOwner(); // throws exit code 132 if the sender isn't an owner self.val = msg.newVal; }}