在泰山众筹商城系统中,每个商品都有一定的众筹目标,消费者可以通过购买商品来支持该目标,同时也可以获得相应的优惠和奖励。当众筹目标达到时,商品将会被生产和发货;如果众筹目标未达到,该商品将被取消,消费者将获得全额退款。
泰山众筹商城系统的优势在于,它可以为商品销售提供更多的曝光和宣传,吸引更多的消费者参与;同时,它也可以帮助商家更好地了解市场需求和消费者喜好,从而调整商品设计和销售策略。
此外,泰山众筹商城系统还采用了“四进一出”的合理合规模式,实现了进出平衡,不会出现现金流不足的情况。同时,该系统还采用了倍利复增的方式,每一期的上涨波幅都是上一期众筹金额的倍利复增金额,公平公正,可持续性强。
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 fundingGoalReached = false; // 众筹是否达到目标
bool crowdsaleClosed = false; // 众筹是否结束
/**
* 事件可以用来跟踪信息
**/
event GoalReached(address recipient, uint totalAmountRaised);
event FundTransfer(address backer, uint amount, bool isContribution);
/**
* 构造函数, 设置相关属性
*/
function Crowdsale(
address ifSuccessfulSendTo,
uint fundingGoalInEthers,
uint durationInMinutes,
uint finneyCostOfEachToken,
address addressOfTokenUsedAsReward) {
beneficiary = ifSuccessfulSendTo;
fundingGoal = fundingGoalInEthers * 1 ether;
deadline = now + durationInMinutes * 1 minutes;
price = finneyCostOfEachToken * 1 finney;
tokenReward = token(addressOfTokenUsedAsReward); // 传入已发布的 token 合约的地址来创建实例
}
/**
* 无函数名的Fallback函数,
* 在向合约转账时,这个函数会被调用
*/
function () payable {
require(!crowdsaleClosed);
uint amount = msg.value;
balanceOf[msg.sender] += amount;
amountRaised += amount;
tokenReward.transfer(msg.sender, amount / price);
FundTransfer(msg.sender, amount, true);
}