The Emoji language for the Ethereum Virtual Machine.
npm i -g lite-server
lite-server
0οΈβ£π€0οΈβ£
π’π
ππΌπ’β©οΈπ’
π
ππ₯πβ1οΈβ£
β©οΈπ
π
πβπβ©οΈπ’
π
β©οΈπ
π
0οΈβ£π€0οΈβ£
πβππ’ππ’πβ©οΈπ’
π
π’π
ππ₯πβπ
β©οΈπ
π
πβππ’ππ’πβ©οΈπ’
π
π’π
ππ₯πβπ
β©οΈπ
π
0οΈβ£π€0οΈβ£
πΊοΈπ
ππΌπ’β©οΈπ’
π
ππ€π₯ππ€βπ°
β©οΈ1οΈβ£
π
ππ½π’β©οΈπ’
π
π’π
ππ₯ππ€
ππ€π₯0οΈβ£
π‘π€π0οΈβ£πΈπβ½0οΈβ£
β©οΈ1οΈβ£
π
πβπ#οΈβ£πβ©οΈπ’
π
β©οΈππ
π
0οΈβ£π€0οΈβ£
πΊοΈπ°
πΊοΈπ
π’π
π·
π
ππ₯1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£
π°π€π₯π
ππͺππ0οΈβ£ππ€ππ
π
πͺπ°πβ©οΈπ’
π
β©οΈπ
π
πͺπ€π#οΈβ£πβ©οΈπ’
π
β©οΈπ°π
π
πͺπΈπ’#οΈβ£ππ’πβ©οΈβ―οΈ
π
π°π€π₯π°π€βπ
π°ππ₯π°πβπ
ππͺπππ€ππππ
β©οΈ1οΈβ£
π
πͺππ#οΈβ£π#οΈβ£πβ©οΈπ’
π
β©οΈπππ
π
πͺβ
π’#οΈβ£ππ’πβ©οΈβ―οΈ
π
ππ€ππ₯π
β©οΈ1οΈβ£
π
πͺπ§π’#οΈβ£π#οΈβ£ππ’πβ©οΈβ―οΈ
π
πππ€π₯πππ€βπ
π°ππ₯π°πβπ
π°ππ₯π°πβπ
ππͺπππππππ
β©οΈ1οΈβ£
π
πͺππβ©οΈπ‘
π
β©οΈ8οΈβ£3οΈβ£9οΈβ£3οΈβ£2οΈβ£6οΈβ£7οΈβ£4οΈβ£7οΈβ£5οΈβ£6οΈβ£3οΈβ£2οΈβ£9οΈβ£7οΈβ£7οΈβ£3οΈβ£7οΈβ£3οΈβ£6οΈβ£8οΈβ£7οΈβ£9οΈβ£4οΈβ£7οΈβ£0οΈβ£
π
πͺππβ©οΈπ‘
π
β©οΈ2οΈβ£9οΈβ£7οΈβ£6οΈβ£4οΈβ£9οΈβ£7οΈβ£8οΈβ£5οΈβ£4οΈβ£1οΈβ£7οΈβ£
π
πͺπ₯§πβ©οΈπ’8οΈβ£
π
β©οΈ1οΈβ£8οΈβ£
π
0οΈβ£π€0οΈβ£
π
°οΈπ
±οΈπ’π’πβ©οΈβ―οΈ
π
π‘6οΈβ£1οΈβ£7οΈβ£4οΈβ£1οΈβ£9οΈβ£2οΈβ£5οΈβ£4οΈβ£7οΈβ£7οΈβ£1οΈβ£2οΈβ£7οΈβ£2οΈβ£1οΈβ£0οΈβ£2οΈβ£2οΈβ£5οΈβ£8οΈβ£6οΈβ£7οΈβ£2οΈβ£0οΈβ£2οΈβ£1οΈβ£4οΈβ£8οΈβ£5οΈβ£4οΈβ£5οΈβ£2οΈβ£4οΈβ£8οΈβ£1οΈβ£9οΈβ£7οΈβ£0οΈβ£2οΈβ£1οΈβ£6οΈβ£4οΈβ£2οΈβ£7οΈβ£4οΈβ£9οΈβ£5οΈβ£π5οΈβ£9οΈβ£9οΈβ£2οΈβ£9οΈβ£0οΈβ£5οΈβ£8οΈβ£9οΈβ£πΈ0οΈβ£β½1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£#οΈβ£π€#οΈβ£ππ’π
π‘9οΈβ£4οΈβ£6οΈβ£6οΈβ£7οΈβ£6οΈβ£1οΈβ£4οΈβ£9οΈβ£1οΈβ£4οΈβ£2οΈβ£9οΈβ£0οΈβ£8οΈβ£5οΈβ£2οΈβ£3οΈβ£2οΈβ£0οΈβ£4οΈβ£1οΈβ£6οΈβ£5οΈβ£5οΈβ£2οΈβ£7οΈβ£8οΈβ£1οΈβ£5οΈβ£3οΈβ£3οΈβ£6οΈβ£7οΈβ£7οΈβ£5οΈβ£7οΈβ£3οΈβ£9οΈβ£4οΈβ£2οΈβ£5οΈβ£4οΈβ£5οΈβ£4οΈβ£6οΈβ£6οΈβ£8οΈβ£π2οΈβ£8οΈβ£3οΈβ£5οΈβ£7οΈβ£1οΈβ£7οΈβ£3οΈβ£0οΈβ£7οΈβ£β½1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£#οΈβ£π€π’π
β©οΈ1οΈβ£
π
π
±οΈπ
°οΈπ’π’πβ©οΈβ―οΈ
π
π‘9οΈβ£4οΈβ£6οΈβ£6οΈβ£7οΈβ£6οΈβ£1οΈβ£4οΈβ£9οΈβ£1οΈβ£4οΈβ£2οΈβ£9οΈβ£0οΈβ£8οΈβ£5οΈβ£2οΈβ£3οΈβ£2οΈβ£0οΈβ£4οΈβ£1οΈβ£6οΈβ£5οΈβ£5οΈβ£2οΈβ£7οΈβ£8οΈβ£1οΈβ£5οΈβ£3οΈβ£3οΈβ£6οΈβ£7οΈβ£7οΈβ£5οΈβ£7οΈβ£3οΈβ£9οΈβ£4οΈβ£2οΈβ£5οΈβ£4οΈβ£5οΈβ£4οΈβ£6οΈβ£6οΈβ£8οΈβ£π5οΈβ£9οΈβ£9οΈβ£2οΈβ£9οΈβ£0οΈβ£5οΈβ£8οΈβ£9οΈβ£πΈ0οΈβ£β½1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£#οΈβ£π€#οΈβ£ππ’π
π‘6οΈβ£1οΈβ£7οΈβ£4οΈβ£1οΈβ£9οΈβ£2οΈβ£5οΈβ£4οΈβ£7οΈβ£7οΈβ£1οΈβ£2οΈβ£7οΈβ£2οΈβ£1οΈβ£0οΈβ£2οΈβ£2οΈβ£5οΈβ£8οΈβ£6οΈβ£7οΈβ£2οΈβ£0οΈβ£2οΈβ£1οΈβ£4οΈβ£8οΈβ£5οΈβ£4οΈβ£5οΈβ£2οΈβ£4οΈβ£8οΈβ£1οΈβ£9οΈβ£7οΈβ£0οΈβ£2οΈβ£1οΈβ£6οΈβ£4οΈβ£2οΈβ£7οΈβ£4οΈβ£9οΈβ£5οΈβ£π2οΈβ£8οΈβ£3οΈβ£5οΈβ£7οΈβ£1οΈβ£7οΈβ£3οΈβ£0οΈβ£7οΈβ£πΈ0οΈβ£β½1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£#οΈβ£π€π’π
β©οΈ1οΈβ£
π
The following is the structure of a contract.
STATE_VARIABLES
CONSTRUCTOR (Optional)
FUNCTION_1
FUNCTION_2
FUNCTION_3
...
State variables are variables whose values are permanently stored in contract storage.
π’π // Uint variable declared on the stack
πΊοΈπ° // This is hashmap
The costructor code will be executed only once, when the contract is deployed.
π·
π
π°π€π₯1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£
ππͺππ0οΈβ£ππ€π1οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£0οΈβ£
π
Functions are the executable units of code.
πͺπ₯§πβ©οΈπ’8οΈβ£
π
β©οΈ1οΈβ£8οΈβ£
π
Function Calls can either be π view or π’ public. Functions accept parameters and return variables to pass parameters and values between them.
Functions are composed by:
The following is the syntaxis of a function:
NAME VISIBILITY PARAMS β©οΈ RETURN_TYPE
π
INSTRUCTIONS
π
Emoji | Type |
---|---|
π’ | unsigned intenger |
π‘ | string |
#οΈβ£ | address |
πΊοΈ | mapping |
β―οΈ | boolean |
Emoji | Type |
---|---|
π€ | The caller address, msg.sender on solidity |
π | Current contract address, this on solidity |
π° | Ether amount sent, msg.value on solidity |
Gracefully stops the function execution and returns a value.
β©οΈ VALUE
Example:
β©οΈπ
Assigns a value to a variable. Notice function parameters are not assignable.
VARIABLE π₯ VALUE
Example:
ππ₯π
Sums two values and assign the result to a variable.
VARIABLE π₯ VALUE β VALUE
Example:
ππ₯πβπ
Subtracts a value to another and assign the result to a variable.
VARIABLE π₯ VALUE β VALUE
Example:
ππ₯πβπ
Executes a set of instructions if a variable value is different than 0.
βVARIABLE
π
INSTRUCTIONS
π
Example:
βπ
π
ππ₯π
π
Executes repeatedly a set of instructions as long as a variable value is different than 0.
πVARIABLE
π
INSTRUCTIONS
π
Example:
ππ
π
ππ₯πβ1οΈβ£
ππ₯πβ5οΈβ£
π
Logs an event to the blockchain. Notice the name is a 2 emoji signature. Up to 4 topics are supported.
π NAME π TOPIC1 π TOPIC2 π TOPIC3
Example:
ππͺπππ€ππππ
Makes a call to an external account. Use this to call a function to an external smart contract or to send eth.
π‘ EXTERNAL_ACCOUNT_ADDRESS π SELECTOR πΈ ETHER_SENT β½ MAXIMUM_GAS_USED
Example:
π‘π€π0οΈβ£πΈπβ½0οΈβ£