【区块链实战】Solidity 智能合约如何给账户充值

目录

一、实战场景

二、知识点

智能合约

智能合约函数

智能合约充值

payable 关键字

智能合约部署地址

智能合约的运行

合约 this 对象

三、菜鸟实战

四、运行结果


一、实战场景

Solidity 智能合约如何给账户充值

二、知识点

  • 智能合约

  • 智能合约函数

  • 智能合约充值

  • payable 关键字

  • 智能合约部署地址

  • 智能合约的运行

  • 合约 this 对象

三、菜鸟实战

// SPDX-License-Identifier: GPL-3.0
// Author: 菜鸟实战
// Description: 智能合约如何给账户充值
// 编译器版本
pragma solidity >=0.7.0 <0.9.0;

// 知识点
// # 智能合约
// # 智能合约函数
// # 智能合约充值
// # payable 关键字
// # 智能合约部署地址
// # 智能合约的运行
// # 合约 this 对象

// ## 合约地址
// 合约部署后会形成一个地址,这个地址和账户地址的格式是一样的,它可以像普通账户那样接受转账交易
// ## payable 关键字
// 凡是涉及 eth 转移的函数或者地址,都要加上关键字 payable ,代表可支付
// ## 合约 this 对象
// 每个合约内部有一个 this 对象,在合约中可以将其转化为 address 类型,从而可以获得账户余额

// 合约名称
contract DepositAction {

    address public sender;  // 发送者

    // 构造函数
    constructor() public {
        sender = msg.sender;
    }


    // 充值,注意要加 payable
    function deposit() public payable {
        //nothing to do
    }

    // 获取余额
    function getBalance() public view returns (uint256) {
        // 强制转换为地址类型
        return address(this).balance;
    }
}

四、运行结果

1、充值金额

2、充值并查看结果

猜你喜欢

转载自blog.csdn.net/qq_39816613/article/details/125604508