如果你有一个好的想法,苦于没有资金,怎么办呢?去找投资人?用自己的钱? ???俗话说人多力量大,众人拾柴火焰高,团结就是力量。在区块链的世界你需要的只是一个合约,有了这个合约,你就会得到很多人的支持。今天我们写一个关于众筹的合约。让你离你的梦想更近一步。
第一部分,捐款,任何人在规定时间之内,都可以对你进行捐款,捐款的数量也是随意的。
function donate() payable public{
require(now < endtime);
require(total < goal);
require(msg.value > 0);
gift[msg.sender] += msg.value;
total += msg.value;
}
endtime表示这个众筹项目什么时候结束,所以在规定的时间内都可以进行捐款;并对捐款人进行记录,方便以后取回捐款。
第二部分,取众筹款;当在规定时间内达到了预定数量的众筹款,则合约发布人可以取出众筹款;
function draw() public{
require(msg.sender == owner);
require(total > goal);
owner.transfer(address(this).balance);
}
这段就比较简单了,需要的只是一个好的梦想;
第三部分,捐款人取回自己的捐款;当到达规定时间还么没有达到预定的众筹款,则捐款人可以取回自己的捐款了;
function withdraw() public{
require(now > endtime);
require(total < goal);
uint amount = gift[msg.sender];
total -= amount;
gift[msg.sender] = 0;
address(msg.sender).transfer(amount);
}
这段也很简单了,梦想要破灭了。
合约比较简单,希望能给大家带来帮助。
今天的文章solidity Dapp 众筹合约——让你离你的梦想更近一步分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24248.html