一.基本用法
1.字符串拼接 string.concat
2. pure 允许操作 view 只读
存储方式(主要四种)
3. 结构体 映射(映射镶嵌结构体)
mapping (数据类型 key=> value )定义的新名称;
定义一个结构体以及映射,在定义一个函数,地址为空时返回一个提示,不为空时返回另一组提示
4.地址为空 address(0x0)
5.全局变量
1.msg.sender 地址
2.msg.value 数值
二.合约引入与调用
1.合约引入
引用合约名 也可以引入网络合约url 包引入 @
1.引入上个合约中的所有合约
2.createfactory调用一次,创建新的合约
3.获取每一个合约里面的数据
4.一个合约向另一个合约中的数据修改
三.合约案例
(1).收款的智能合约
1.创建一个收款函数
2.记录投资人并且查看
3.在锁定期内,达到目标值。生产商可以提款
4.在锁定期内,没有达到目标值,投资人在锁定期结束后退款
1.创建收款函数需要通用到 payable
2.为获取实时动态的价格(例如Eth USD等币种的价格)
1.这里可以引入chainlink合约的获取实时价格的函数方法
2.再构造函数中(加载一次)获取到价格 定义为新的倡廉dataFeed
3.转账的三种方式 tranfer send call 推荐call
//1.tranfer转账 什么都发生 转账必须是payable