《区块链学习笔记》ETH-智能合约(下)

北京大学肖臻老师《区块链技术与应用》公开课笔记

以太坊中,多线程可以提高挖矿效率吗?

不可以,solidity不支持多线程,因为多线程可能会造成执行结果不确定。

智能合约可以获得的区块信息

《区块链学习笔记》ETH-智能合约(下)

智能合约可以获得的调用信息

《区块链学习笔记》ETH-智能合约(下)

地址类型

《区块链学习笔记》ETH-智能合约(下)
所有智能合约均可显示的转换成地址类型。

从一个例子开始:简单拍卖

《区块链学习笔记》ETH-智能合约(下)
《区块链学习笔记》ETH-智能合约(下)

《区块链学习笔记》ETH-智能合约(下)

竞拍流程:发起人写一个拍卖的程序,发布一个智能合约,转账金额为0,需要一定的Gas fee,然后由矿工发布到区块链上,会返回给发起人一个地址。其他想要参与竞拍的人直接调用这个智能合约就行了。

有什么问题吗?
《区块链学习笔记》ETH-智能合约(下)
:假设有人通过这样的合约账户参与竞拍会有什么结果?
:智能合约里的以太币取不出来。

第二版:由投标者自己取回出价

《区块链学习笔记》ETH-智能合约(下)
这样可以了吗?

重入攻击(Re-entrancy Attack)

《区块链学习笔记》ETH-智能合约(下)
解决办法:先清零,再转账。

《区块链学习笔记》ETH-智能合约(下)