以下代码是波场JavaScript的授权方法,这个目前来说是没问题,但是我想要让toAddress不是个人地址,而是合约地址。
因为合约地址没有私钥,所以我想要用合约创建者来执行transferfrom函数
我想要知道怎么改写toAddress这个合约的transferfrom的Solidity代码。
请问这么写有问题吗
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
require(sender == owner, "Only owner can use transferFrom");
require(_allowances[sender][msg.sender] >= amount, "Allowance exceeded");
_allowances[sender][msg.sender] -= amount;
_transfer(sender, recipient, amount);
return true;
}
你的概念理解错了,javascript code 跟你理解的一样,把 toAddress 改成合约地址就可以了;
不过合约 (toAddress)的 solidity代码不需要有transferfrom function, 需要的是一个类似于 transfer 的函数。我们可以把这个函数叫做 transferTokenA,他的代码应该类似于下面:

contract YourContract {
// Define tokenA here
function transferTokenA(address recipient, uint256 amount) public {
tokenA.transfer(recipient, amount);
}
}