0

这是代币成为 ERC20 代币所需的接口

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

我想保密谁拥有我的令牌的地址。所以我删除了 Transfer 事件和 Approval 事件。我还将 balanceOf 函数设为私有。

公众是否还有办法找出谁拥有我的一个代币?还有什么方法可以让公众知道交易何时发生?

4

2 回答 2

1

是私人的吗?

公众是否还有办法找出谁拥有我的一个代币?还有什么方法可以让公众知道交易何时发生?

可以查看合约的存储,可以查看交易数据。这些数据必然是公开的。你能做的最好的事情就是让你的中位用户更难找到这些信息(尽管知道他们在做什么的人可以把它挖出来然后发布)。

它是 ERC20 代币吗?

这是代币成为 ERC20 代币所需的接口……我删除了 Transfer 事件和 Approval 事件。我还将 balanceOf 函数设为私有。

请注意,删除这些内容使其不再是 ERC20 代币。这些在ERC20 规范中是必需的。

现在怎么办?

公共区块链上的私有交易是一个正在进行的研究领域。如果您真的想实现这一点,则需要深入研究该领域的当前研究,熟悉 ZK-SNARKS 和替代品之类的东西。

于 2018-11-13T22:21:43.493 回答
0

是的,比特币和以太坊的主要特点之一是它们是公开的。当任何人使用您的智能合约时,他们的所有行为都必然且按设计记录在区块链中。

请参阅这个称为智能合约方法的tx 。注意我是如何看到谁发送了什么给谁,调用了什么函数,以及使用了哪些参数。

于 2018-11-13T01:15:29.820 回答