【区块链实战】如何创建一个带参数的智能合约
2023-04-18 14:25:30 时间
目录
一、简介
如何创建一个带参数的智能合约
二、知识点
智能合约
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 参数,何为为我们提供了对应的查询函数,分别单击对应按钮,就可以调用对应的过程和看到对应的值
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击