Solidity 学习笔记
其中solidity是一门专门用于编写智能合约的高级语言,在以太坊虚拟机上运行。它是一种静态类型语言,受 JavaScript、Python 和 C++ 的影响,具有合约、状态变量、函数修饰符和事件等概念,适用于去中心化应用(DApp)和区块链开发。 智能合约的概念智能合约(Smart Contract)是一种运行在区块链上的自执行合约,其条款以代码形式直接写入区块链。一旦满足设定的条件,合约便会自动执行,且不可篡改。智能合约通常用于去中心化金融(DeFi)、NFT、供应链管理等场景,以实现信任最小化和自动化交易。 1.变量类型常用三种类型: 1.值类型: 布尔型(bool),整数型(int),正整数(uint)等 2.引用类型: 数组(arry[]),结构体(struct)等 3.映射类型:存储键值对的数据结构(mapping) 详细介绍1布尔型布尔型是二值变量,取值为 true 或 false。 1bool san = ture; 布尔值的运算符包括: ! (逻辑非) && (逻辑与,”and”) || (逻辑或,”or”) == (等于) !=...
solidity 漏洞
1重入漏洞最经典的故事: 为了让大家更好理解,这里给大家讲一个”黑客0xAA抢银行”的故事。 以太坊银行的柜员都是机器人(Robot),由智能合约控制。当正常用户(User)来银行取钱时,它的服务流程: 查询用户的 ETH 余额,如果大于 0,进行下一步。 将用户的 ETH 余额从银行转给用户,并询问用户是否收到。 将用户名下的余额更新为0。 一天黑客 0xAA 来到了银行,这是他和机器人柜员的对话: 0xAA : 我要取钱,1 ETH。 Robot: 正在查询您的余额:1 ETH。正在转帐1 ETH到您的账户。您收到钱了吗? 0xAA : 等等,我要取钱,1 ETH。 Robot: 正在查询您的余额:1 ETH。正在转帐1 ETH到您的账户。您收到钱了吗? 0xAA : 等等,我要取钱,1 ETH。 Robot: 正在查询您的余额:1 ETH。正在转帐1 ETH到您的账户。您收到钱了吗? 0xAA : 等等,我要取钱,1...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment