第154篇 Solidity 中众筹的实现

Posted wonderBlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第154篇 Solidity 中众筹的实现相关的知识,希望对你有一定的参考价值。

 1.众筹 ERC20

  • 用户创建活动;
  • 用户可以承诺,将他们的 ERC20 转移到活动中;
  • 活动结束后,如果承诺的总金额超过活动目标,活动创建者可以申请提取 ERC20;
  • 否则,活动并没有达到目标,用户可以撤回承诺。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

interface IERC20 
    function transfer(address, uint) external returns (bool);
    function transferFrom(address, address, uint) external returns (bool);


contract CrowdFund 
    event Launch(uint id, address indexed creator, uint goal, uint32 startAt, uint32 endAt);
    event Cancel(uint id);
    event Pledge(uint indexed id, address indexed caller, uint amount);
    event Unpledge(uint indexed id, address indexed caller, uint amount);
    event Claim(uint id);
    event Refund(uint id, address indexed caller, uint amount);

    struct Campaign 
        // Creator of campaign
        address creator;
        // Amount of tokens to raise
        uint goal;
        // Total amount pledged
        uin

以上是关于第154篇 Solidity 中众筹的实现的主要内容,如果未能解决你的问题,请参考以下文章

区块链众筹的解决方案

股权众筹的难点是什么?

微博众筹的架构设计

杀死众筹的N种方法:没想到山寨大军也参与了

Solidity:关于 ERC20 代币创建和预售(众筹)的问题

Solidity 智能合约开发工具准备第一篇