本文介绍了区块链的基本概念、历史、工作原理、安全特性以及应用场景。文章从中心化与去中心化的概念入手,解释了区块链产生的背景,详细描述了区块链的定义、结构和共识机制,并探讨了公有链和私有链的区别,最后列举了区块链在国际支付、供应链、医疗、身份管理和投票系统等领域的应用。
本文深入探讨了Solidity中payable关键字的奥秘。通常payable关键字用于允许函数接收以太币。但一个有趣的现象是,给函数添加payable关键字实际上可以减少Gas消耗。这是因为非payable函数需要额外的opcode来检查是否接收了以太币,而payable函数则不需要,从而减少了Gas消耗。作者建议,gas优化重要,但不要为了节省少量gas而牺牲函数的本意。