触发非开源智能合约时如何在etherscan上编码输入数据?

时间:2021-04-25 18:17:28

标签: ethereum solidity etherscan

我已经在以太坊上部署了一个智能合约。当我触发它时,函数名称和参数显示在 etherscan 上。我怎样才能隐藏这些信息? enter image description here

1 个答案:

答案 0 :(得分:1)

Etherscan 使用字典将函数签名转换为函数名称(在您的情况下为 0x38ed1739swapExactTokensForTokens(uint256,uint256,address[],address,uint256))。

如果您不希望他们翻译函数名称,则需要将您的合约函数(它的定义和所有调用它们的地方)重命名为一些乱码,例如 kdjgklfdjiwefw(uint256,uint256,address[],address,uint256)

请注意,外部合约可能希望通过它们期望的名称(例如 swapExactTokensForTokens)调用您的函数,如果具有此名称的函数不存在,它们将无法调用。

如果您想禁止 Etherscan 显示翻译但不想重命名您的函数 - 目前没有办法做到这一点。