Solidity
tokenReward.transferFrom 不起作用?
我一直在努力解決如何做到這一點,並希望這個社區可以提供幫助。
我知道應該添加它或類似的東西,所以投資人地址的代幣餘額可以在投資後更改。
我嘗試
buy()
通過添加以下內容以幾種方式進行修改:require(tokenReward.transfer(msg.sender, numTokens)); require(tokenReward.transferFrom(ASSET_MANAGER_WALLET, msg.sender, numTokens)); require(tokenReward.transferFrom(tokenReward.owner(), msg.sender, numTokens)); if (tokenReward.transferFrom(tokenReward.owner(), msg.sender, numTokens)) tokenReward.transferFrom(tokenReward.owner(), msg.sender, amount.mul(rate)); if (tokenReward.transferFrom(tokenReward.owner(), msg.sender, amount.mul(RATE))) { revert(); } if (tokenReward.transferFrom(tokenReward.owner(), msg.sender, numTokens)) { revert(); }
沒有成功。
這非常重要!
沒有這行程式碼,
要求(tokenReward.transferFrom(tokenReward.owner(),msg.sender,numTokens));
我可以發送 eth 和 balanceOf 和 amountRised 計算正確,但投資者余額不正確。
添加這行程式碼後, require(tokenReward.transferFrom(tokenReward.owner(), msg.sender, numTokens)); 我什麼都做不了。將 eth 發送到眾籌時,我從 Myetherwallet 得到這個,
這裡有沒有人可以幫助解決這個問題。謝謝你,羅伯特
代幣合約
https://ropsten.etherscan.io/address/0x2aa448505f3ba5359e2537113e0fe1293aea9ecb#code
眾售合約
https://ropsten.etherscan.io/address/0xf70142870fe11e39af3539005e5f02b31e60fb4c#code
問題是您使用外部擁有的帳戶作為
tokenReward
.在您的代幣銷售的etherscan 頁面中,
tokenReward
地址是0x79b67dff9fb21d2550937d879ec2eacb2f377da0
一個普通的非合約賬戶。由於您只能
tokenReward
在建構子中修改地址,因此剩下的唯一選擇是重新部署您的銷售契約。