合约里面创建合约:
1.合约名字 aa = new 合约名字(); // 返回合约地址
2.合约名字.属性
3.合约名字.方法();
// SPDX-License-Identifier:MIT
pragma solidity ^0.8;
import "https://github.com/Arachnid/solidity-stringutils/blob/master/src/strings.sol"; // 字符串拼接
contract Pair {
using strings for *;
address public factor;
string public token0;
string public token1;
string public tokenTotal;
constructor (string memory _token0, string memory _token1) payable {
token0 = _token0;
token1 = _token1;
factor = msg.sender; // 调用者的address
}
function sum() public returns(string memory){
tokenTotal = "123";
return token0.toSlice().concat(token1.toSlice());
}
}
contract Factor {
Pair[] public allPairs;
function creat(string memory _token0, string memory _token1) public {
Pair pair = new Pair(_token0, _token1); //new合约,默认返回address
pair.sum();
allPairs.push(pair);
}
// 接收ether,函数声明payable
function creat2(string memory _token0, string memory _token1) public payable{
Pair pair = (new Pair){value: msg.value}(_token0, _token1);
allPairs.push(pair);
}
}
remix测试步骤
第一步,选Factor合约,deploy

第二步,在合约地址上,creat方法输入2个参数,执行

第三步, allPairs获取数组自动,输入索引0,执行

第四步,复制上图中的地址,粘贴进合约地址,选择合约名字Pair,

第六步,点击At Address,生成交互界面


本文档详细介绍了如何使用 Remix 进行智能合约的创建和测试。通过部署 Factor 合约并调用 creat 方法创建 Pair 合约,然后通过 allPairs 数组访问合约实例,展示了智能合约的交互流程。涉及 Solidity 语言、合约构造函数、方法调用等概念。
1435

被折叠的 条评论
为什么被折叠?



