Solidity
將 ERC20 代幣發送給合約的建構子
我想將 erc20 代幣發送給合約的建構子。我無法
approve(spender, amount)
在部署合約之前手動使用該功能,因為支出者地址需要是合約的地址。如果我在契約中使用token.approve
ortoken.transfer
方法,它會返回transfer amount 超出 balance,儘管我的帳戶中有足夠的餘額。我假設它正在嘗試從合約中批准或轉移代幣。注意:這個問題與這個不同。在契約內部使用
token.approve
是從契約而不是 msg.sender 批准的。
在我看來,您有兩個選擇:
- 提前搞清楚合約地址。然後添加允許合約從你那裡提取代幣,並在建構子中添加
transferFrom
. 以下是如何在部署前計算地址的一些細節:乙太坊合約的地址是如何計算的?- 在單獨的事務中部署和發送令牌