电脑基础 · 2023年3月8日

【区块链实战】如何创建一个带参数的智能合约

目录

一、简介

二、知识点

智能合约

Solidity 公共变量

Solidity 私有变量

以太坊椭圆曲线算法 keccak256

abi 转码

智能合约编译,部署和运行

三、菜鸟实战

四、运行结果

1、编译

2、部署

3、运行

4、public 参数的查询函数


一、简介

如何创建一个带参数的智能合约

二、知识点

  • 智能合约

  • Solidity 公共变量

  • Solidity 私有变量

  • 以太坊椭圆曲线算法 keccak256

  • abi 转码

  • 智能合约编译,部署和运行

三、菜鸟实战

// SPDX-License-Identifier: GPL-3.0
// Author: 菜鸟实战
// Description: 智能合约如何传递参数
// 编译器版本
pragma solidity >=0.7.0 <0.9.0;
// 知识点
// # 智能合约
// # Solidity 公共变量
// # Solidity 私有变量
// # 以太坊椭圆曲线算法 keccak256
// # abi 转码
// # 智能合约编译,部署和运行
// 合约名称
contract VarAction {
    // public 变量会自动提供查询方法
    string public VarName;
    int256 public VarAge;
    bytes32 public VarHash;
    // 私有变量
    uint256 VarYear;
    constructor(string memory _name, int256 _age, uint256 _year) public {
        VarName = _name;
        VarAge = _age;
        VarYear = _year;
        VarHash = keccak256(abi.encode(VarName, VarAge, VarYear));
    }
}

四、运行结果

1、编译

【区块链实战】如何创建一个带参数的智能合约

2、部署

由于这个合约有参数,所以在部署的时候传入参数

【区块链实战】如何创建一个带参数的智能合约

3、运行

【区块链实战】如何创建一个带参数的智能合约

4、public 参数的查询函数

对于 public 参数,何为为我们提供了对应的查询函数,分别单击对应按钮,就可以调用对应的过程和看到对应的值

【区块链实战】如何创建一个带参数的智能合约