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

Posted 菜鸟实战

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链实战如何创建一个带参数的智能合约相关的知识,希望对你有一定的参考价值。

目录

一、简介

二、知识点

智能合约

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 参数,何为为我们提供了对应的查询函数,分别单击对应按钮,就可以调用对应的过程和看到对应的值

以上是关于区块链实战如何创建一个带参数的智能合约的主要内容,如果未能解决你的问题,请参考以下文章

[区块链安全-Ethernaut]区块链智能合约安全实战-连载中

区块链实战什么是智能合约,如何搭建智能合约环境

区块链入门Truffle 项目实战,Solidity IDE, 智能合约部署

区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码

区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码

区块链 | 预言机从零开始使用Chainlink预言机- 智能合约中使用更安全的随机数-代码实战