Solidity
- Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。智能合约是管理以太坊状态里账户行为的程序。
- Solidity是一种针对Ethereum虚拟机(EVM)设计的 花括号语言 。 它受到了C++、Python和JavaScript的影响。你可以在 语言影响 部分找到更多关于Solidity受到哪些语言启发的细节。
- Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。
简单的智能合约
-
智能合约的含义就是一组代码(它的 功能 )和数据(它的 状态 )的集合,并且它们是位于以太坊区块链的一个特定地址上的
image.png - https://learnblockchain.cn/2018/01/04/understanding-smart-contracts/
install
- sudo npm install -g solc
- https://docs.soliditylang.org/en/latest/installing-solidity.html
compile sol file
docker run -v /root/solidity:/sources ethereum/solc:stable -o /sources/output --abi --bin /sources/Contract.sol
image.png
Comments
- // or /* */
State Variables
- State variables are variables whose values are permanently stored in contract storage.
types
- Booleans
- Integers (int8 to int256 , uint and int are aliases for uint256 and int256)
in checked mode, overflow will revert
image.png
- Comparisons
-
Address
image.png - Contract
- Enums
- User-defined Value Types
- Function
- Reference
- Mapping
- https://docs.soliditylang.org/en/latest/types.html#types
exception
- try/catch
- revert statement
网友评论