blockchain - solidity基础语法 basic 生成abi 看这个就够了,

访问量: 38

文档在这里:https://www.tutorialspoint.com/solidity/solidity_overview.htm

安装

npm install -g solc

查看

$ solcjs --version
0.8.11+commit.d7f03943.Emscripten.clang

Types

Boolean, Integer,  Fixed Point Numbers

这里要记得:solidity会对变量做个区分:

int  // 占用地址确定

int[]  // 可变数组,占用的地址或者空间是可变的

byte  "asdfsadf" 长度是变化的

上面 变化的内容,在 生成abi data 并进行 eth_sendRawTransaction时,会作为data参数调用,这些变化的内容是需要加以指定的

Variable

state variable

local variable

global variable

Scope: 

public , interval, private

字符串,数组, Mapping

string data = "test";

uint balance[10];

mapping(address => uint) public balances;

特殊变量

https://www.tutorialspoint.com/solidity/solidity_special_variables.htm

functions

modifier : 某个function的 before hook (个人认为)

view : 用来读取状态的函数  (读取链上信息)  对应abi的stateMutability 也是view

pure: 不是read, 也不是write state  (不读链上信息)  在 abi的stateMutability   也是pure

在stateMutability 还有 nonPayable 和 payable, 对应的就是修改链上数据的方法了。

Contract

https://www.tutorialspoint.com/solidity/solidity_contracts.htm

对于一些方法的scope

public - all can access
external - Cannot be accessed internally, only externally
internal - only this contract and contracts deriving from it can access
private - can be accessed only from this contract

virtual: 允许被继承后实现的

override: 跟java中的概念一样, 覆盖.

生成ABI

订阅/RSS Feed

Subscribe

分类/category