分类: 架构设计与优化
2023-04-23 16:51:15
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);