温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Solidity interface怎么使用

发布时间:2021-12-07 15:40:34 来源:亿速云 阅读:218 作者:iii 栏目:互联网科技

本篇内容主要讲解“Solidity interface怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Solidity interface怎么使用”吧!

以太坊网络把在网络上读与写数据进行了区分,写数据被称作交易(transaction),读数据被称作调用(call)。

使用工具:remix IDE —browser-based

场景:两个合约分别部署在不同的地址,相互间的调用 数据交互操作

第一个合约:Doug.sol代码如下:

pragma solidity ^0.4.19;
contract Doug{
    mapping (bytes32 => uint) public contracts;
    function Doug() {
        contracts['hww'] = 1;
        contracts['brian'] = 2;
        contracts['zzy'] = 7;
    }
    
    function getDougName(string _name) public view returns(string) {
        return _name;
    }
    
     function getDougAge(uint _age) public pure returns(uint) {
        return 3 ** _age;
    }
}

第二个合约 myContract.sol 代码如下:

pragma solidity ^0.4.19;

contract DogInterface {
    function getDougAge(uint _age) returns (uint);
    function contracts(bytes32 name) returns (uint);
}

contract main{
    
    event FetchContract(address dogInterfaceAddress, address sender, bytes32 name);
    
    address DOUG;
    
    address dogInterfaceAddress = 0x3e6494333ae0e929ade0eb9a19fb02632b8e07cf;
    DogInterface dogContract = DogInterface(dogInterfaceAddress);
          
    function setDOUG(address _doug) {
        DOUG = _doug;
    }
    
    function dougOfage(uint _age) public view returns(uint) {
        
        uint num =  dogContract.getDougAge(_age);
        return _age+num;
        //   return num;
    }
    
    function uintOfName(bytes32 _name)  returns (uint) {
        
        dogContract.contracts(_name);
        FetchContract(dogInterfaceAddress, msg.sender, _name);
       
    }
    
    // function getTest(string _name) public view returns(string) {
    //     string memory newName = _name ;
    //     DogInterface(DOUG).getDougName(newName);
    //     return newName;
    // }
}

执行结果:

  Solidity interface怎么使用

到此,相信大家对“Solidity interface怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI