我的私有映射在已部署的智能合约中有多私有?

How private is my private mapping in a deployed smart contract?

任何人都可以看到存储在已部署合约的私有映射中的数据吗?这也适用于私有变量吗?

是的。一切都是可见的。您所控制的只是如何调用函数。

For reference:

  • public: 可以从任何地方调用。
  • private:可以在合约内部调用,但不能在子合约中调用。
  • interanl: 可以从合约内部调用,也可以从子合约调用。
  • external:可以从另一个合约调用,但不能在合约本身内调用。

如果数据本身需要保密,就得在客户端加密,取回后再解密(如果需要真正在交易中使用数据,这会产生问题),或者你需要使用私有区块链。