Solidity本地开发环境搭建
solidity官方Remix IDE地址: https://remix.ethereum.org/ (需科学上网)
搭建solidity本地开发环境
第一种:在vscode中只需要在扩展里安装Ethereum Remix插件
- 插件安装完成
- 连接远程IDE
第二种:npm安装remixd,通过remixd和远程ide建立连接
1 | npm i @remix-project/remixd |
代码实战
1 | // SPDX-License-Identifier: MIT |
- solidity从0.6.8及其以上版本需要引入 SPDX 许可证,在头部使用SPDX-License-Identifier
- 您可以在此处找到许可证列表
- 引用类型必须显式提供存储类型的数据区域
- 数据区域
- memory:其生命周期仅限于外部函数调用
- storage:存储状态变量的位置,生命周期仅限于合约的生命周期
- calldata:存储函数参数的不可修改、非持久性区域,其行为主要类似于内存,它可以避免复制并确保无法修改数据
在 0.5.0 版本之前,可以省略数据位置,并且会根据变量的类型、函数类型等默认到不同的位置,但现在所有复杂类型都必须给出明确的数据位置。
运行结果
- 修改名称
- 获取名称
从结果可以发现赋值的时候也就是写操作需要花费gas,因为写操作需要向整个链进行数据同步;但是读取操作则不花费gas