ETH-智能合约
北京大学肖臻老师《区块链技术与应用》公开课笔记
什么是智能合约?
1.智能合约是运行在区块链上的一段代码,代码的逻辑定义了合约的内容。
2.智能合约的账户保存了合约当前的运行状态。有以下几方面:
- balance:当前余额
- nonce:交易次数
- code:合约代码
- storage:存储,数据结构是一棵MPT(状态树)
*solidity是智能合约最常用的语言,语法上与javascript近似。
外部账户如何调用智能合约?
创建一个交易,接收地址为要调用的那个智能合约的地址,data域填写要调用的函数及其参数的编码值。
其中TXDATA为调用的函数。
一个合约如何调用另一个合约中的函数?
-
直接调用
-
使用address类型的call()函