Solidity
merkle 分銷商的意義何在?
我試圖了解為什麼
Merkle Distributor
使用 AKA merkle 空投。我理解它是如何工作的,但我不明白為什麼它是一個更好的選擇。當有 ICO 並且他們想要分發代幣時,人們會使用它,我的問題是我沒有看到它有很多優勢。假設我們使用傳統的發行版。
- 我們編寫 ERC20 代幣合約。(
contract1
)- 我們編寫另一個合約,創建大量代幣並將其發送到該合約。(
contract2
) 。假設contract2
有 1000000000000 個令牌。- 其他使用者呼叫該函式
buyTokens
,contract2
在該函式中,我們檢查他們支付了多少乙太幣,並據此計算要給使用者的代幣數量。然後,我們呼叫address(ERC20).transfer(to, amount)
. 這似乎工作正常。**支付交易費用的是使用者`。你能解釋一下為什麼
Merkle Distributor
在這裡有意義以及它有什麼優勢嗎?我知道它是什麼以及它是如何工作的,因此無需過多解釋。
當您擁有應接收代幣的預定義地址列表時,Merkle 分發器會更有用。在 ICO 模型中,任何人都可以購買代幣。在空投模型中,只有一些地址可以接收令牌。問題變成了,我們如何確保某些特定的人收到代幣?您可以將其直接發送給他們所有人。這是昂貴的。您可以在合約中儲存所有允許地址的映射。這對部署者來說是昂貴的。或者你可以在你的 Merkle Distributor 中有一個 merkle 根。這種方法降低了您的部署成本,同時允許使用者提取他們的空投代幣。我希望這能回答你的問題。