目录
扫描二维码关注公众号,回复:
14430040 查看本文章

一、实战场景
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、充值并查看结果