EOSCrowdsale 地址中缺少 ETH
EOS 是一種 ERC20 代幣,目前以 ETH 的價格出售。如https://eos.io/distribution/所示,每 23 小時售出 200 萬個 EOS,約 20K ETH
但是,令我困惑的是,當我使用(http://api.etherscan.io/api?module=account&action=txlist&address=0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf&startblock=0&endblock=99999999&sort=asc&apikey= ***)對 etherscan 進行事務掃描時沒有支出交易,因為地址僅出現在“to”欄位中,而從未出現在“from”欄位中。
所以,我假設所有的 ETH 應該仍然在同一個錢包裡。他們的網站報告應該至少有 330 萬 ETH(不包括第一次代幣銷售),但是https://etherscan.io/address/0xd0a6e6c54dbc68db5db3a091b171a77407ff7ccf顯示只有 31K ETH。
問題:其他 320 萬個 ETH 代幣怎麼了?是否有另一種方法可以在錢包中花費/隱藏/移動 ETH,這樣它就不會註冊為公共支出交易?
(免責聲明:我不是想引起 FUD 或促進代幣銷售。我只是想了解 ETH 技術是如何工作的,並將 EOS 分發作為現實世界的例子。)
以防其他人也想知道。他們使用內部交易(https://etherscan.io/address/0xd0a6e6c54dbc68db5db3a091b171a77407ff7ccf#internaltx>)將資金轉移到EOS-Owner(<https://etherscan.io/address/0x9937dbb2128b55c44d8af7bf36fd76796a814cf4)。
顯然,內部交易是由智能合約自動創建的。
眾籌合約實現了允許所有者取回存入資金的功能
// Crowdsale owners can collect ETH any number of times function collect() auth { assert(today() > 0); // Prevent recycling during window 0 exec(msg.sender, this.balance); LogCollect(this.balance); }
exec 函式進行呼叫,將合約餘額轉移到
msg.sender
.