我的私有映射在已部署的智能合约中有多私有?
How private is my private mapping in a deployed smart contract?
任何人都可以看到存储在已部署合约的私有映射中的数据吗?这也适用于私有变量吗?
是的。一切都是可见的。您所控制的只是如何调用函数。
public
: 可以从任何地方调用。
private
:可以在合约内部调用,但不能在子合约中调用。
interanl
: 可以从合约内部调用,也可以从子合约调用。
external
:可以从另一个合约调用,但不能在合约本身内调用。
如果数据本身需要保密,就得在客户端加密,取回后再解密(如果需要真正在交易中使用数据,这会产生问题),或者你需要使用私有区块链。
任何人都可以看到存储在已部署合约的私有映射中的数据吗?这也适用于私有变量吗?
是的。一切都是可见的。您所控制的只是如何调用函数。
public
: 可以从任何地方调用。private
:可以在合约内部调用,但不能在子合约中调用。interanl
: 可以从合约内部调用,也可以从子合约调用。external
:可以从另一个合约调用,但不能在合约本身内调用。
如果数据本身需要保密,就得在客户端加密,取回后再解密(如果需要真正在交易中使用数据,这会产生问题),或者你需要使用私有区块链。