Contract-Design
在未創建該代幣的合約中創建一個接受 ERC20 代幣的支付函式的安全方法
我有兩個合約,合約A代表Token A,合約B是自己的合約。I 使用者通過向合約 B 支付代幣 A 來呼叫合約 B 函式,就像他們使用支付功能一樣,但通過支付代幣 A 而不是 ETH。
讓使用者在合約 A 上呼叫 token.approve(),然後在合約 B 上呼叫 token.transferFrom() 是一個安全的解決方案,還是我應該遵循的模式?
您應該查看ERC777標準以滿足您的要求。
它定義了與令牌互動的高級功能。即,運營商代表另一個地址(合約或普通賬戶)發送代幣,並發送/接收掛鉤,為代幣持有者提供對其代幣的更多控制權。
這可能會有所幫助:具有 ERC20 向後兼容性和ERC777 實施的 ERC777