前提・実現したいこと
開発環境:Remix
言語:Solidity(0.8.9)
アドレス間でethereumトークンのやり取りする方法を知りたいです。
例えばAアドレスからBアドレスに1EHTを送る、という仕組みです。
transferやtransferFromを使用してもコントラクトで定義したトークンを送ってしまいethereumトークンが送れません。
色々試したのですが、どれも上手くいきませんでした。
発生している問題・エラーメッセージ
ethereumトークンが送れません。
該当のソースコード
はじめは、このコードでコントラクトで定義したトークンが送れるか試しました。
function ownToken(address _from, address _to, uint256 _amount) public onlyOwner {
_approve(_from, _to, _amount);
_transfer(_from, _to, _amount);
}
つぎに、これらのコードで別のトークンが送れるか試しました。
function test01t1(address _token, address _app, uint256 _amount) public onlyOwner {
IERC20 token = IERC20(_token);
token.transfer(_app, _amount);
}
function test01t3(address _token, address _from, address _app, uint256 _amount) public onlyOwner { IERC20 token = IERC20(_token); _approve(_from, _app, _amount); token.transfer(_app, _amount); }
試したこと
_tokenに他のトークンを指定したり、「address」を「address payable」にしたり色々変更してみましたが
エラーになってしまい、上記のソースコードが唯一成功するコードとして記載しています。
あなたの回答
tips
プレビュー