千家信息网

Solidity interface怎么使用

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"Solidity interface怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Solidity interface怎么使用"
千家信息网最后更新 2025年01月23日Solidity interface怎么使用

本篇内容主要讲解"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怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0