Solidity

已關閉,創建一種將 ERC20 代幣 B 空投給 ERC20 代幣 A 持有者的方法

  • April 1, 2020

我幾乎整天都在嘗試某種形式的可靠程式碼來自動將代幣 B 空投給代幣 A 的持有者,但我仍然找不到很多有效的方法。我怎麼能這樣做?

我想到了兩種明顯的方法。

鏈下流程會聽取 Token A 的事件日誌,編制持有者名單,然後主動發送 Token B。由於 Token A 是不斷運動的,因此需要明確截止時間或持續流程以及需求。這種方法的一個顯著缺點是集中的天然氣支付者承擔了交易和基礎設施的所有成本以及責任。

這與解決截止時間問題具有相同的要求。我沒有看到一個明顯的方法可以連續地做到這一點,但它可能是可能的。這是關於確保會計工作的。

有權獲得一些代幣 B 的使用者將交易發送到索賠視窗合約,該合約根據他們的代幣 A 餘額(在某個時間點)計算他們的權利,並將分配給他們的代幣 B 發送給他們。這將是一個鏈上解決方案運營商沒有交易成本或基礎設施成本。

在這種情況下定義合約應該做什麼應該容易得多。並且,確保交易能夠以已知的固定 gas 成本完成應該是微不足道的,該成本將由激勵支付它的受益人支付。

可以考慮一種輕巧的方法

ERC20 是關於介面和結果的——而不是關於方法的。

沒有什麼能阻止人們使用另一份合約中可用的資訊來計算供應和賬戶餘額。

考慮:

您的代幣 B 餘額是您的代幣 A 餘額(在截止時間)加上或減去在此之後發生的所有事情。

如果您以這種方式編寫 ERC20 合約,那麼空投將在初始化時完成。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/82069