solidity 合约间调用以及参数传递

简介: 在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理.contract1.solpragma solidity ^0.4.0;contract Test1 { uint256 public v=7; function vote(uint256 a) pu...

在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理.

contract1.sol

pragma solidity ^0.4.0;
contract Test1 {

     uint256 public v=7;
    function vote(uint256 a) public returns (uint256) {
        v=a;
       return (a);
    }
}

contract2.sol

pragma solidity ^0.4.0;
import "./contract1.sol";

contract Test2 {
    Test1 public t;
     uint256 public v=7;
     constructor(address t1) public {
         t=Test1(t1);
     }
    function vote(uint256 a) public {
       v=t.vote(a);
    }
}

如下调用Test2.vote(3)会将合约Test1的 v 和合约Test2的 v 都设置为3.

目录
相关文章
|
4月前
|
存储 区块链 数据安全/隐私保护
智能合约中最常见的11种函数
下面列出了一些常见的智能合约函数及其用途,并提供了一些基本的示例。
52 0
|
存储 SQL API
如何判定 EVM 合约的类型
通过使用正确的API,可以轻松获取与合约地址相关的ERC20代币的所有转账记录。通过创建账户、编写使用API的脚本并使用getTokenTransfers函数,您可以访问和分析有关ERC20代币的有价值的转账数据。
150 0
如何判定 EVM 合约的类型
|
6月前
|
编译器 API C语言
在x86架构汇编语言中函数参数传递的三种约定
在x86架构汇编语言中函数参数传递的三种约定
183 2
|
JavaScript 前端开发 Go
【智能合约】Go语言调用以太坊 | geth
目录 1. geth 简介 1.1 下载地址: 1.2 安装: 1.3 查看是否安装成功 2. geth命令介绍 3. geth常用命令 3.1 指定数据目录 --datadir 3.2 账户相关 3.3 控制台console: 3.4 删除数据: 3.5 help 3.6 常见错误 4. Go语言调用合约 4.1 启动rpc端口 4.2 Go调用以太坊 4.3 调用接口 net_version net_listening net_peerCount eth接口 personal接口 db接口 最后
1129 0
【智能合约】Go语言调用以太坊 | geth
|
区块链
Jvav 调用 Conflux 智能合约
Jvav 调用 Conflux 智能合约
114 0
|
区块链
ERC20代币合约开发规则详解(源码示例)
ERC20代币合约是一个遵循ERC20标准的代币合约,它实现了代币转移、代币冻结、代币解锁等功能。作为一个通用的标准,ERC20代币合约可以被广泛应用于各种去中心化交易所、钱包、ICO等场景。
|
Go 数据安全/隐私保护
Solidity笔记-合约间的互相调用
Solidity笔记-合约间的互相调用
234 0
|
编译器 区块链
Solidity函数学习
Solidity函数学习
166 0
Solidity函数学习
|
区块链
SOLIDITY REMIX方法传递数组参数
SOLIDITY REMIX方法传递数组参数
661 0
SOLIDITY REMIX方法传递数组参数
|
JSON Go 区块链
【智能合约】Go语言调用智能合约 | geth
目录 1. 获取abi文件 2. 安装abigen工具 3. remix连接私有链 4. 合约部署 5. 初始化私有链节点创世块 6. 合约部署 7. 调用
1379 0
【智能合约】Go语言调用智能合约 | geth