一,合约:
1,new这个关键字就是部署一个新合约。
2,当与一个合约交互时需要两个条件 a:合约地址,b:ABI (application binary interfinace)。
3,通过import可以导入外部合约。
4,通过is可以继承合约。当合约的函数后面加入了virtual关键字,说明该合约函数可以被重写,如果子合约要重写父合约的函数,则子合约函数后要加override关键字。
二:支付发送:
支付发送Ether有三个关键字:transfer,send,call
transfer:2300 gas,throws error 抛出异常。
send:2300 gas,return bool,返回是否发送成功。
call:forward all gas or set gas, returns bool,转发所有gas或设置gas,返回是否发送成功。
如果合约想要直接收以太坊,则需要重写receive()或fallback()方法。往合约里面直接转入以太坊时会调用receive()或fallback()方法。
msg.data (bytes calldata)用户发生的转账之外的内容,可以是文字备注之类的,但是如果接受信息的是智能合约那合约会对data进行解析,并执行date中指定的函数。三:library
library和contract类似,只不过不能往里面存款,同时不能有状态变量,library里面所有的function都需要是internal。
我是温驭臣,一个Solidity的开发学习者,以上是我的简单总结,如果有缺陷,希望在评论区看到您的补充。
网友评论