Solidity知识点集 — Keccak256与事件(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solidity知识点集 — Keccak256与事件(二)相关的知识,希望对你有一定的参考价值。

参考技术A

Keccak256生成伪随机数

类型转换

事件

事件 是合约和区块链通讯的一种机制。你的前端应用“监听”某些事件,并做出反应。

你的 app 前端可以监听这个事件。javascript 实现如下:

Web3.js

以太坊有一个 JavaScript 库,名为Web3.js。底层实现上,它通过RPC 调用与本地节点通信。web3.js可以与任何暴露了RPC接口的以太坊节点连接。

后面会继续讲到。

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

目录

一、简介

二、知识点

智能合约

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

以上是关于Solidity知识点集 — Keccak256与事件(二)的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Solidity 生成的整数值生成 sh3_keccak256?

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

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

Solidity 中的哈希是什么?

ethers计算函数选择器与事件选择器

Solidity两个string的比较