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

Posted wonderBlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第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. 每个人可以提取自己的

以上是关于第156篇 用智能合约给自己做个钱包的主要内容,如果未能解决你的问题,请参考以下文章

第18讲 | 智能合约与以太坊

以太坊智能合约项目-Token合约开发与部署

第19讲 | 上手搭建一条自己的智能合约

深入解析Safe多签钱包智能合约:代理部署与核心合约

第89篇 defi实战-质押ERC20智能合约

深入解析Safe多签钱包智能合约:Fallback合约