众筹系统DAPP平台开发技术实现

简介: 一个真正的DApp应用需要同时满足以下几个条件:应用必须完全开源自治,且只有一个实体控制着该应用超51%token,该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户意见达成一致之后方可进行;应用的数据必须加密后存储在公开的区块链上,应用必须拥有token机制,可用基于相同底层区块链平台的通用代币或自行发行新币,矿工对应用维护节点需要得到代币奖励;应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。

DApp是Decentralized Application的缩写,中文直译为去中心化应用,也可以理解为分布式应用。去中心化应用是基于区块链底层开发平台建立的。比如以太坊和EOS,DApp与底层平台的关系就好比APP与ios和安卓系统。

一个真正的DApp应用需要同时满足以下几个条件:应用必须完全开源自治,且只有一个实体控制着该应用超51%token,该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户意见达成一致之后方可进行;应用的数据必须加密后存储在公开的区块链上,应用必须拥有token机制,可用基于相同底层区块链平台的通用代币或自行发行新币,矿工对应用维护节点需要得到代币奖励;应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。

pragma solidity ^0.4.16;

interface token {

function transfer(address receiver, uint amount);

}

contract Crowdsale {

address public beneficiary;  // 募资成功后的收款方
uint public fundingGoal;   // 募资额度
uint public amountRaised;   // 参与数量
uint public deadline;      // 募资截止期

uint public price;    //  token 与以太坊的汇率 , token卖多少钱
token public tokenReward;   // 要卖的token

mapping(address => uint256) public balanceOf;

bool public fundingGoalReached = false;  // 众筹是否达到目标
bool public crowdsaleClosed = false;   //  众筹是否结束

/**
* 事件可以用来跟踪信息
**/
event GoalReached(address recipient, uint totalAmountRaised);
event FundTransfer(address backer, uint amount, bool isContribution);
event LogAmount(uint amount);

/**
 * 构造函数, 设置相关属性
 */
function Crowdsale(
    address ifSuccessfulSendTo,
    uint fundingGoalInEthers,
    uint durationInMinutes,
    uint weiCostOfEachToken,
    address addressOfTokenUsedAsReward) {
        beneficiary = ifSuccessfulSendTo;
        fundingGoal = fundingGoalInEthers * 1 ether;
        deadline = now + durationInMinutes * 1 minutes;
        /*一个TOKEN等同于1个以太坊ETH太贵了,修改官网代码,变为一个TOKEN等同于1个wei*/
        /*price = etherCostOfEachToken * 1 ether;*/
        price = weiCostOfEachToken * 1 wei;
        tokenReward = token(addressOfTokenUsedAsReward);   // 传入已发布的 token 合约的地址来创建实例
}

/**
 * 无函数名的Fallback函数,
 * 在向合约转账时,这个函数会被调用
 */
function () payable {
    require(!crowdsaleClosed);
    uint amount = msg.value;
    balanceOf[msg.sender] += amount;
    amountRaised += amount;
    LogAmount(amount);/*打款3个ETH,判断此处是3还是3*10^18*/
    /*官网这个代码有问题,导致打回的币的数量会非常小,此处*1000倍,表示
      1个ETH等于1000个TOKEN/
    /*tokenReward.transfer(msg.sender, amount / price);*/
    tokenReward.transfer(msg.sender, 1000 * (amount / price));
    /*msg.sender对应的是当前运行的外部账号的地址*/
    FundTransfer(msg.sender, amount, true);
}




相关文章
|
17天前
|
存储 安全 区块链
DAPP众筹互助模式系统开发|技术方案
智能合约的主要目的之一是在多方之间去信任化地自动达成金融协议
|
10月前
|
区块链 测试技术
DAPP链游开发稳定版丨链游dapp/nft游戏系统开发成熟技术方案及源码详情
随着区块链技术的不断发展,智能合约农场在链游行业中扮演着越来越重要的角色。智能合约农场是一种基于区块链技术的应用程序,它可以帮助链游开发商快速、安全地上线定制游戏软件。本文将介绍智能合约农场在链游行业中的作用以及如何通过智能合约农场快速上线定制游戏软件。
|
10月前
|
区块链
DAPP众筹互助系统开发(成熟技术)|DAPP众筹互助系统开发案例分析
智能合约是一种以代码形式存在的合约constructor()public
|
8月前
|
区块链 数据安全/隐私保护
DAPP众筹互助系统开发|DAPP公排合约系统开发指南
去中心化区块链作为分布式技术的一种创新形式,提供了一种去中心化、透明和可信的数据处理方式
|
9月前
|
存储 算法 安全
DAPP互助公排系统开发源码|DAPP互助系统开发方案与指南
“去中心化”是区块链的典型特征之一,其使用分布式储存与算力
|
10月前
|
安全 区块链 UED
链游开发公司 dapp软件系统开发
链游系统开发公司链游系统开发公司是指在区块链技术的基础上,专门从事链游系统开发的企业。链游是一种基于区块链技术的游戏形式,它具有去中心化、不可篡改、安全可信等特点,深受广大玩家的喜爱。随着链游的不断发展,链游系统开发公司也得到了越来越多的关注和认可。
|
10月前
|
算法 安全 数据管理
DAPP流动池兑换模式系统开发|DAPP技术开发
区块链技术作为一种分布式数据库技术,去中心化是其非常重要的特点之一
|
10月前
|
存储 区块链 文件存储
DAPP众筹互助公排系统开发(详情功能)DAPP互助模式开发
区块就是很多交易数据的集合,它被标记上时间戳和之前一个区块的独特标记
|
10月前
|
存储 安全 区块链
区块链NFT系统开发|DAPP技术开发
让去中心化存储网络上的所有节点都存储所有数据是不可持续的
|
11月前
|
存储 开发框架 IDE
区块链dapp开发搭建
区块链DApp开发(去中心化应用开发)是构建基于区块链技术的应用程序的过程。DApp是Decentralized Application的缩写,即去中心化应用。DApp与传统的应用程序类似,但它们是完全去中心化的,不依赖于任何中心化的服务器,而是由区块链网络的节点来运作。

热门文章

最新文章