solidity 智能合约之间的调用

简介: solidity 智能合约之间的调用

智能合约之间的调用

在区块链上,有些功能往往无法通过一个智能合约完成,此时便会用到智能合约之间的调用。本篇文章带大家通过具体示例来了解一下智能合约之间的调用。


在智能合约的编译过程中,有两种情况:调用者和被调用者在一个sol文件中和分别在不同的文件中。


同sol文件的智能合约调用

在下面的智能合约中,Demo1和Demo在同一个文件中,可进行同时编译,然后逐个发布。


pragma solidity ^0.5.10;
contract Demo1{
    uint public data;
    function setData(uint _data) public {
        data = _data;
    }
}
contract Demo2{
    function toSetData(Demo1 demo1,uint _data) public {
        demo1.setData(_data);
    }
}

当发布完成,可通过第Demo2的toSetData方法进行Demo1方法的调用。传递的第一个参数为Demo1的智能合约地址,第二个参数为要设置的值。


不同sol文件的智能合约调用

在大多数情况下,两个智能合约不存在于同一个sol文件中,那么就需要使用另外一种形式来进行调用。还拿调用Demo1方法来举例,用另外一个sol文件中的Demo3来调用Demo1。


首先需要声明接口,然后在Demo3中直接调用对应的接口。


pragma solidity ^0.5.10;
contract Demo1{
    function setData(uint _data) public;
}
contract Demo3{
    function toSetData(Demo1 demo1,uint _data) public {
        demo1.setData(_data);
    }
}

调用接口是传递的参数依旧同第一种情况。


目录
相关文章
|
6月前
|
存储 区块链 数据安全/隐私保护
智能合约中最常见的11种函数
下面列出了一些常见的智能合约函数及其用途,并提供了一些基本的示例。
65 0
|
存储 前端开发 编译器
智能合约与DApp的关系与区别
以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App,简称DApp)。
智能合约与DApp的关系与区别
|
区块链
Jvav 调用 Conflux 智能合约
Jvav 调用 Conflux 智能合约
121 0
|
区块链
solidity 合约间调用以及参数传递
在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理. contract1.sol pragma solidity ^0.4.0; contract Test1 { uint256 public v=7; function vote(uint256 a) pu...
3379 0
|
存储 区块链 数据库
Solidity开发智能合约
一个简单的智能合约 在Solidity中,一个合约由一组代码(合约的函数)和数据(合约的状态)组成。合约位于以太坊区块链上的一个特殊地址。
1521 0
|
Go 数据安全/隐私保护
Solidity笔记-合约间的互相调用
Solidity笔记-合约间的互相调用
246 0
|
JSON Java 区块链
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
262 0
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
|
Java 区块链 开发工具
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
365 0
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
|
Java 区块链
【智能合约】Solidity 进阶编程 | 注意一下合约中的细节
目录 1. 内置的全局变量 2. 错误处理 3. 访问函数 4. 创建合约 5. 合约继承 6. 修饰器modifier 最后
259 0
【智能合约】Solidity 进阶编程 | 注意一下合约中的细节
|
JSON Go 区块链
【智能合约】Go语言调用智能合约 | geth
目录 1. 获取abi文件 2. 安装abigen工具 3. remix连接私有链 4. 合约部署 5. 初始化私有链节点创世块 6. 合约部署 7. 调用
1410 0
【智能合约】Go语言调用智能合约 | geth

热门文章

最新文章

下一篇
开通oss服务