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

目录

一、简介

二、知识点

智能合约

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、编译

【区块链实战】如何创建一个带参数的智能合约_第1张图片

2、部署

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

【区块链实战】如何创建一个带参数的智能合约_第2张图片

3、运行

【区块链实战】如何创建一个带参数的智能合约_第3张图片

4、public 参数的查询函数

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

【区块链实战】如何创建一个带参数的智能合约_第4张图片

你可能感兴趣的:(区块链实战,区块链,智能合约,以太坊)