以太坊智能合约开发:让合约接受转账
以太坊智能合约开发:让合约接受转账
在以太坊智能合约开发中,通常会有向合约地址进行转账的需求,那么有几种向合约地址进行转账的方式呢?
有三种方式:
- 部署合约时转账
- 调用合约提供的方法
- 直接向合约地址进行转账
但有一个问题,以太坊的智能合约默认是拒绝来自任何地址的转账,那么如何让合约能够支持接收转账呢?
1、部署转账
在进行合约开发时,如果想要在部署时,直接向该合约进行转账,只需要给构造函数中添加payable
修饰符。
示例:
contract Test { // 构造函数添加payable修饰符即可 function Test() payable { // 构造函数其他逻辑代码 } }
2、执行合约转账
执行合约转账,则需要给你需要支持转账功能的方法添加payable
修饰符
示例:
contract Test { function getBalance() payable { // 其他逻辑 } }
3、直接转账
支持直接转账,需要借助后备函数(fallback function),只需要为后备函数添加 payable
修饰符
示例:
contract Test { function () payable { // 其他逻辑 } }
附录
相关推荐
SelfImprovement 2020-05-15
hackeey 2020-03-26
liaowufeng0 2020-03-22
smilejiasmile 2019-12-27
AlexTan 2019-12-06
linyonghui 2019-11-19
AlexTan 2019-11-17
大侠区块链 2019-11-05
zhuxiangzhidi 2019-11-04
zhuxiangzhidi 2019-10-30
niukaoying 2019-10-27
smilejiasmile 2018-10-21
teaven0 2018-05-29
TokenInsight 2018-05-22
zhuxiangzhidi 2019-07-30
ShangQuan0 2019-07-01
改变自己 2019-07-01