- 520的日子,没出现在各大水群,假装忙着约会,实则在这偷偷躲起来写博客,不能让人发现我今天很有空都没人约๑乛◡乛๑
智能合约开发
性质
根本性质:表达商业、“法律”关系的契约
机制
运行机制
- Transation驱动的EVM
- 没有所谓的并发问题
- Transation的原子性与闪贷
hello contract
准备
- Solidity IDE:Remix (线上IDE 可以快速初步了解整体)
- 对 java、python、JavaScript 其中任一语法熟悉(语言相通性吧,都有点类似)
一个合约小例子
- (remix上的demo,我补了点注释可以帮助理解)
// 合约授权方式
// SPDX-License-Identifier: GPL-3.0
//要求编译器的版本范围
pragma solidity >=0.8.2 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage { // 声明一个名为Storage的合约,可以把contract简单等价于理解为其他语言的class,类似声明一个Storage类
uint256 number; // 声明一个256位的无符号整形数成员变量number
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public { // 括号内是函数的参数类型及参数名称 public跟java中的方法public也类似,就是位置放的不一样(╯#-_-)╯
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){ // view说明是一个读操作,读合约状态的视图,括号内就是return的返回类型,跟python一样可以返回多个
return number;
}
}
- 然后以下是编译后部署后的效果,主要看圈出来的位置
- 好了 现在12点过了,朋友圈应该可以开始吃瓜了,先写到这吧,去吃瓜了╭( ̄▽ ̄)╯