第156篇 用智能合约给自己做个钱包

 本文使用 solidity 合约实现私人钱包功能;

1.简单钱包

实现最简单的钱包功能:

  1. 任何人都可以给我发 Ether
  2. 只有我可以提取 Ether
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract EtherWallet {
    address payable public owner;

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

    receive() external payable {}

    function withdraw(uint _amount) external {
        require(msg.sender == owner, "caller is not owner");
        payable(msg.sender).transfer(_amount);
    }

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

2.共享钱包

实现多人共享的钱包功能:

  1. 合约地址不能直接接收 Ether,必须调用 deposit;
  2. 任何人都可以把自己的 Ether 存入钱包;
  3. 每个人可以提取自己的

猜你喜欢

转载自blog.csdn.net/wonderBlock/article/details/128360922
156