美文网首页
以太坊代币-transferFrom的使用

以太坊代币-transferFrom的使用

作者: 区块链0 | 来源:发表于2020-07-15 15:58 被阅读0次

    approve是授权第三方(比如某个服务合约)从发送者账户转移代币,然后通过 transferFrom() 函数来执行具体的转移操作。

    账户A有1000个ETH,想允许B账户随意调用他的100个ETH,过程如下:

    A账户按照以下形式调用approve函数approve(B,100)
    B账户想用这100个ETH中的10个ETH给C账户,调用transferFrom(A, C, 10)
    调用allowance(A, B)可以查看B账户还能够调用A账户多少个token

    代码
     /* 从其他账户转移资产
        A允许B从A那里转多少钱给C,先用A调用approve方法,传入B账户;然后调用transferFrom方法,from参数传A账户,to参数传B账户,最后账户地址要改为B的账户来调用
        */
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
            require(_value <= allowance[_from][msg.sender]);     // Check allowance
            allowance[_from][msg.sender] -= _value;
            _transfer(_from, _to, _value);
    
            return true;
        }
    
        /*  授权第三方从发送者账户转移代币,然后通过transferFrom()函数来执行第三方的转移操作 */
        function approve(address _spender, uint256 _value) public
            returns (bool success) {
            allowance[msg.sender][_spender] = _value;
            return true;
        }
    
    步骤1
    步骤1.png
    步骤2
    步骤2.png
    步骤3
    步骤3.png

    相关文章

      网友评论

          本文标题:以太坊代币-transferFrom的使用

          本文链接:https://www.haomeiwen.com/subject/jqqjhktx.html