主页 > imtoken安卓版 > 区块链学习笔记——以太坊Part2(智能合约)
区块链学习笔记——以太坊Part2(智能合约)
imtoken安卓版 2023-12-12 05:08:04
本文内容是对北京大学肖震教授主讲的《区块链技术与应用》公开课的总结。 文中图片取自肖老师公开课视频。
目录
智能合约
什么是智能合约:
代码示例:
外部账户如何调用智能合约
智能合约的创建和运行
煤气费
汽油费可以避免死循环。 在全节点执行智能合约之前以太坊合约地址计算java,会从当前本地数据中扣除发起交易的节点的GasLimit。 GasLimit用完会回滚,消耗的gas费不会返还,防止恶意节点攻击。 交易发布后即生效,形成全网共识。 执行错误的智能合约也会被公布,以扣除他的汽油费。
在以太坊中,交易是原子的。 交易要么完全执行,要么根本不执行以太坊合约地址计算java,而不仅仅是其中的一部分。
错误处理
对于全节点,先执行区块内的所有交易,计算三棵树的根哈希值,然后挖矿并尝试nonce。
一个合约调用另一个合约中的函数方式一:直接调用
以太坊规定交易只能由外部账户发起,合约账户不能主动发起交易。 如果A合约出现异常,调用A的B合约也会出错回滚。
方法二:地址类型的call()函数
如果被调用的合约产生异常,调用函数返回false,调用失败,但调用函数不会抛出异常。
方式三:代理调用
智能合约可用的信息