查看OpenZeppelin's Ownable的代码,我看到了这个公共字段:
contract Ownable {
address public owner;
:
}owner可以从web3或其他合同中更改吗?我想不会,因为那会是个安全漏洞。
这是否意味着公共字段只能由契约本身访问?(类似于公共采摘者和内部策划者)
我是否可以定义如下:
contract MyContract {
Person[3] public persons;
:
struct Person {...}
}并确保数组可以被读取,并且不能被任何客户端写入?
发布于 2018-03-23 11:06:39
是的,标记变量public相当于创建一个具有相同名称的getter。对于setter没有内置的支持,因为您几乎总是需要某种自定义代码来管理应该设置变量的人或方式。
https://ethereum.stackexchange.com/questions/43641
复制相似问题