3分钟Solidity: 8.1 以太币钱包

29 阅读1分钟

欢迎订阅专栏3分钟Solidity--智能合约--Web3区块链技术必学

如需获取本内容的最新版本,请参见 Cyfrin.io 上的Ether Wallet(代码示例)

以太币钱包是连接用户与加密货币的工具,它们存储私钥、管理以太坊和ERC-20代币,并让您与智能合约和去中心化应用程序进行交互。

一个基础钱包的示例。

  • 任何人都可以发送ETH。
  • 只有所有者可以提取。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;

contract EtherWallet {
    address payable public owner;

    constructor() {
        owner = payable(msg.sender);
    }

    receive() external payable {}

    function withdraw(uint256 _amount) external {
        require(msg.sender == owner, "调用不是所有者");
        payable(msg.sender).transfer(_amount);
    }

    function getBalance() external view returns (uint256) {
        return address(this).balance;
    }
}

Remix Lite 尝试一下

solidity-ether_wallet


END