- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
암호화폐 (비트코인, cryptocurrency, bitcoin) 암호화폐 (비트코인, cryptocurrency, bitcoin) Solidity 이더리움 Cheatsheet
2024.01.23 03:00
암호화폐 (비트코인, cryptocurrency, bitcoin) Solidity 이더리움 Cheatsheet
Solidity 이더리움 Cheatsheet
Order of Precedence of Operators
The following is the order of precedence for operators, listed in order of evaluation.
|
Precedence |
Description |
Operator |
|---|---|---|
|
1 |
Postfix increment and decrement |
|
|
New expression |
|
|
|
Array subscripting |
|
|
|
Member access |
|
|
|
Function-like call |
|
|
|
Parentheses |
|
|
|
2 |
Prefix increment and decrement |
|
|
Unary minus |
|
|
|
Unary operations |
|
|
|
Logical NOT |
|
|
|
Bitwise NOT |
|
|
|
3 |
Exponentiation |
|
|
4 |
Multiplication, division and modulo |
|
|
5 |
Addition and subtraction |
|
|
6 |
Bitwise shift operators |
|
|
7 |
Bitwise AND |
|
|
8 |
Bitwise XOR |
|
|
9 |
Bitwise OR |
|
|
10 |
Inequality operators |
|
|
11 |
Equality operators |
|
|
12 |
Logical AND |
|
|
13 |
Logical OR |
|
|
14 |
Ternary operator |
|
|
Assignment operators |
|
|
|
15 |
Comma operator |
|
ABI Encoding and Decoding Functions
-
abi.decode(bytes memory encodedData, (...)) returns (...): ABI-decodes the provided data. The types are given in parentheses as second argument. Example:(uint a, uint[2] memory b, bytes memory c) = abi.decode(data, (uint, uint[2], bytes)) -
abi.encode(...) returns (bytes memory): ABI-encodes the given arguments -
abi.encodePacked(...) returns (bytes memory): Performs packed encoding of the given arguments. Note that this encoding can be ambiguous! -
abi.encodeWithSelector(bytes4 selector, ...) returns (bytes memory): ABI-encodes the given arguments starting from the second and prepends the given four-byte selector -
abi.encodeCall(function functionPointer, (...)) returns (bytes memory): ABI-encodes a call tofunctionPointerwith the arguments found in the tuple. Performs a full type-check, ensuring the types match the function signature. Result equalsabi.encodeWithSelector(functionPointer.selector, (...)) -
abi.encodeWithSignature(string memory signature, ...) returns (bytes memory): Equivalent toabi.encodeWithSelector(bytes4(keccak256(bytes(signature))), ...)
Members of bytes and string
-
bytes.concat(...) returns (bytes memory): Concatenates variable number of arguments to one byte array -
string.concat(...) returns (string memory): Concatenates variable number of arguments to one string array
Members of address
-
<address>.balance(uint256): balance of the Address in Wei -
<address>.code(bytes memory): code at the Address (can be empty) -
<address>.codehash(bytes32): the codehash of the Address -
<address>.call(bytes memory) returns (bool, bytes memory): issue low-levelCALLwith the given payload, returns success condition and return data -
<address>.delegatecall(bytes memory) returns (bool, bytes memory): issue low-levelDELEGATECALLwith the given payload, returns success condition and return data -
<address>.staticcall(bytes memory) returns (bool, bytes memory): issue low-levelSTATICCALLwith the given payload, returns success condition and return data -
<address payable>.send(uint256 amount) returns (bool): send given amount of Wei to Address, returnsfalseon failure -
<address payable>.transfer(uint256 amount): send given amount of Wei to Address, throws on failure
Block and Transaction Properties
-
blockhash(uint blockNumber) returns (bytes32): hash of the given block - only works for 256 most recent blocks -
block.basefee(uint): current block’s base fee (EIP-3198 and EIP-1559) -
block.blobbasefee(uint): current block’s blob base fee (EIP-7516 and EIP-4844) -
block.chainid(uint): current chain id -
block.coinbase(address payable): current block miner’s address -
block.difficulty(uint): current block difficulty (EVM < Paris). For other EVM versions it behaves as a deprecated alias forblock.prevrandaothat will be removed in the next breaking release -
block.gaslimit(uint): current block gaslimit -
block.number(uint): current block number -
block.prevrandao(uint): random number provided by the beacon chain (EVM >= Paris) (see EIP-4399 ) -
block.timestamp(uint): current block timestamp in seconds since Unix epoch -
gasleft() returns (uint256): remaining gas -
msg.data(bytes): complete calldata -
msg.sender(address): sender of the message (current call) -
msg.sig(bytes4): first four bytes of the calldata (i.e. function identifier) -
msg.value(uint): number of wei sent with the message -
tx.gasprice(uint): gas price of the transaction -
tx.origin(address): sender of the transaction (full call chain)
Validations and Assertions
-
assert(bool condition): abort execution and revert state changes if condition isfalse(use for internal error) -
require(bool condition): abort execution and revert state changes if condition isfalse(use for malformed input or error in external component) -
require(bool condition, string memory message): abort execution and revert state changes if condition isfalse(use for malformed input or error in external component). Also provide error message. -
revert(): abort execution and revert state changes -
revert(string memory message): abort execution and revert state changes providing an explanatory string
Mathematical and Cryptographic Functions
-
keccak256(bytes memory) returns (bytes32): compute the Keccak-256 hash of the input -
sha256(bytes memory) returns (bytes32): compute the SHA-256 hash of the input -
ripemd160(bytes memory) returns (bytes20): compute the RIPEMD-160 hash of the input -
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address): recover address associated with the public key from elliptic curve signature, return zero on error -
addmod(uint x, uint y, uint k) returns (uint): compute(x + y) % kwhere the addition is performed with arbitrary precision and does not wrap around at2**256. Assert thatk != 0starting from version 0.5.0. -
mulmod(uint x, uint y, uint k) returns (uint): compute(x * y) % kwhere the multiplication is performed with arbitrary precision and does not wrap around at2**256. Assert thatk != 0starting from version 0.5.0.
Type Information
-
type(C).name(string): the name of the contract -
type(C).creationCode(bytes memory): creation bytecode of the given contract, see Type Information. -
type(C).runtimeCode(bytes memory): runtime bytecode of the given contract, see Type Information. -
type(I).interfaceId(bytes4): value containing the EIP-165 interface identifier of the given interface, see Type Information. -
type(T).min(T): the minimum value representable by the integer typeT, see Type Information. -
type(T).max(T): the maximum value representable by the integer typeT, see Type Information.
Function Visibility Specifiers
function myFunction() <visibility specifier> returns (bool) {
return true;
}
-
public: visible externally and internally (creates a getter function for storage/state variables) -
private: only visible in the current contract -
external: only visible externally (only for functions) - i.e. can only be message-called (viathis.func) -
internal: only visible internally
Modifiers
-
purefor functions: Disallows modification or access of state. -
viewfor functions: Disallows modification of state. -
payablefor functions: Allows them to receive Ether together with a call. -
constantfor state variables: Disallows assignment (except initialisation), does not occupy storage slot. -
immutablefor state variables: Allows assignment at construction time and is constant when deployed. Is stored in code. -
anonymousfor events: Does not store event signature as topic. -
indexedfor event parameters: Stores the parameter as topic. -
virtualfor functions and modifiers: Allows the function’s or modifier’s behavior to be changed in derived contracts. -
override: States that this function, modifier or public state variable changes the behavior of a function or modifier in a base contract.
[출처] https://docs.soliditylang.org/en/latest/cheatsheet.html
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86134 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78635 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95360 |

