• 外部账户EOA:一般自然人分配的账户,被私钥控制且没有任何代码与之关联。
• 合约账户CA:给智能合约分配的账户,被合约代码控制且有代码与之关联。
EVM 的作用是什么
EVM 就是执行智能合约字节码指令的地方。通过 EVM 执行智能合约来完成符合约束条件的交易,从而改变账户状态,也使得世界态发生改变。什么时候用到 EVM
当发起对合约账户的消息调用(交易中的一种),需要执行合约账户中存储的智能合约时,就要用到 EVM。
Pragma solidity ^0.5.1;
contract TestContract{
function multiply(uint a, uint b) public returns (uint) {
return a*b;
}}
字节码:
608060405234801561001057600080fd5b5060df8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063165c4a1614602d575b600080fd5b606060048036036040811015604157600080fd5b8101908080359060200190929190803590602001909291905050506076565b6040518082815260200191505060405180910390f35b600081830190509291505056fea265627a7a7231582097d73bc7d059d20617a9eec00a2fca15266a55bfb725edca72cbb37d49ee9e3364736f6c637829302e352e31332d6e696768746c792e323031392e31312e31332b636f6d6d69742e36626566333037310059