簡體   English   中英

抵押現有的 ERC20 代幣

[英]staking existing ERC20 token

如何讓現有的 erc20 運行以防止某些持有者進行交易?

我正在嘗試做一個抵押功能。 我可以寫一個新合約來控制現有的erc20合約嗎?

如果您希望在合約本身內暫停代幣傳輸,則必須將影響代幣持有者transfer (或代表持有者的一方transferFrom )能力的邏輯寫入合約。 因此,如果您已經部署了合約,則必須部署具有邏輯的新 ERC20 合約——如果您希望抵押機制在同一個合約中。 然后,您必須將余額從合同的先前版本轉移到新部署的合同。 雖然可能,但復制合約狀態會產生 gas 費用。 您可以讓您的代幣持有者通過使用某種mintrecover功能來支付此 gas 成本,該功能會讀取地址的舊合約余額,在新合約上創建余額,然后將余額標記為已轉移。

或者,對於您的第二個問題,您可以通過附加合同來促進抵押,用戶可以在 ERC20 合同中設置配額。 然后,用戶可以用像一個互動stake這一新的跑馬圈地合同的功能。 Staking 合約將使用transferFrom ERC20 函數增加用戶在 Staking 合約內的 Staking 代幣數量后,將代幣從所有者transferFrom Staking 合約的地址 這將記錄持有者的抵押“信用”,並通過將其所有權轉移到抵押合約來綁定代幣。 然后用戶可以unstake ,這將減少用戶unstake的代幣數量,並將代幣從抵押合約的地址轉移回代幣持有者的地址。 這種方法有更多的移動部分,但在開發機制時可能是一個更靈活的步驟,因為您可以部署新版本的 staking 合約,而無需重新部署 ERC20 合約或轉移余額。 用戶將能夠像往常一樣在多個版本的 staking 合約中進行轉移,並且從之前版本的 staking 合約中提取代幣將非常高效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM