这是令牌成为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);
}
我想将拥有我令牌的人的地址保密。因此,我删除了转移事件和批准事件。我还把balanceOf函数设为私有。
是否还有某种方式让公众人士找出谁拥有我的代币?公共人士还可以通过某种方式知道何时进行交易?
答案 0 :(得分:0)
是的,比特币和以太坊的主要特征之一是它们是公开的。当任何人使用您的智能合约时,他们的所有行为必定会有计划地记录在区块链中。
请参阅此tx,它称为智能合约方法。注意,我如何看到谁向谁发送了什么,调用了什么函数以及带有什么参数。
答案 1 :(得分:0)
否
是否还有某种方式让公众人士找出谁拥有我的代币?公共人士还可以通过某种方式知道何时进行交易?
可以检查合同的存储,还可以检查交易数据。此数据必须是公开的。您能做的最好的事情就是使您的中级用户更难找到此信息(尽管知道自己在做什么的人可以将其挖掘出来然后发布)。
否
这是令牌成为ERC20令牌所需的接口...我删除了Transfer事件和Approval事件。我还把balanceOf函数设为私有。
请注意,删除这些内容将使其不再是ERC20令牌。 ERC20 spec中需要这些。
公共区块链上的私有交易是一个持续的研究领域。如果您真的想实现此目的,则需要深入研究该领域的最新研究,并熟悉ZK-SNARKS和替代方法。