Solidity

如何使代幣不可轉讓?

  • November 6, 2022

如何使錢包所有者無法轉讓代幣,只能由代幣智能合約轉讓

所以所有的erc20代幣在技術上都是通過智能合約轉賬的,為了轉賬,你呼叫代幣智能合約來執行轉賬。

如果您的意思是您不希望代幣所有者能夠轉移代幣,而是希望在某些特定條件下轉移它,或者其他方輸入契約,您需要禁用 transfer 和 transferFrom 功能在erc20智能合約上。

Aave 債務代幣就是一個很好的例子。未經他人同意,不應將債務轉讓給他人,因此他們已將 transfer 和 transferFrom 功能恢復為待命。 https://github.com/aave/protocol-v2/blob/master/contracts/protocol/tokenization/base/DebtTokenBase.sol

通常,儘管我認為這只是您在非常特定的情況下想要做的事情,您應該深入思考這是否真的是解決您問題的最佳解決方案。大多數使用 erc20 代幣的應用程序都希望它們是可轉讓的,擁有某物的核心屬性之一通常是可以控制將其交給某人或某物。

你想用你的設計來具體完成什麼?

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