智能合约的运行流程
- 编写智能合约代码,并编译成字节码。
- 部署智能合约。过程是向“0”地址发送一笔带有智能合约字节码数据的交易,这个交易会生成该智能合约的地址,并将字节码存储在该地址下的状态树中。
- 执行智能合约(调用智能合约函数)。向智能合约地址发送一个交易,该交易携带被调用的智能合约函数信息及调用参数,携带的信息遵循ABI编码协议。
- 智能合约地址收到这样的调用合约函数的交易,首先会解码数据,根据结果查找到对应函数的入口,再传入参数执行该函数。
- 执行函数的过程是状态转换的过程,执行完成后会扣除调用者相应的Gas花费。
- 状态转换的过程会全网同步并被再次执行验证,确保执行结果一致,这样通过验证后的交易会记录到区块中,同时更新状态数据。