トークン契約を作成するために公式コードを使用しました。新しい契約を作成しました。今度は、この新しい契約を使用してトークン契約を呼び出し、AアカウントからBアカウントにトークンを譲渡し、譲渡可能なクォータがないという問題に遭遇することを望みます。私が直接承認メソッドを呼び出すためにトークン契約を使用する場合他のnon-eth erc-20トークン転送操作の固執契約
pragma solidity ^0.4.17;
interface Token {
function approve(address spender, uint256 value) public returns (bool);
function transferFrom(address from, address to, uint256 value) public returns (bool);
}
/**
* The TrxCoin contract does this and that...
*/
contract TrxCoin {
Token token = Token(0xAc08fe3C9F442990C52904dE997D9972499bD3E6);
function getContractAddr() view public returns (address) {
return this;
}
function approve(address spender, uint256 value) public {
require(token.approve(spender, value));
}
function transfer(address _to, uint value) public payable {
require(token.transferFrom(msg.sender, _to, value));
}
}
は、私は新しい契約を通じて転送することができますが、私は新しい契約に承認メソッドを呼び出すことによって直接クォータを割り当てることができません。
これはなぜですか?答えてくれてありがとう!
ありがとうございます。 approreを使用して契約のTrxCoinのアドレスをアドレスAのアドレスに設定すると、転送操作を実行できないことがありますか? – Leo