美文网首页
浅谈Solidity: 24合约,支付发送,library

浅谈Solidity: 24合约,支付发送,library

作者: 温驭臣 | 来源:发表于2023-03-18 09:01 被阅读0次

    一,合约:

    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的开发学习者,以上是我的简单总结,如果有缺陷,希望在评论区看到您的补充。

    相关文章

      网友评论

          本文标题:浅谈Solidity: 24合约,支付发送,library

          本文链接:https://www.haomeiwen.com/subject/zhkdrdtx.html