如何通过以太坊智能合约来进行众筹(ICO)
2018-03-01 12:40
555 查看
【汇新云】为大家定期更新文章,【汇新云】IT人的产业链平台前面我们有两遍文章写了如何发行代币,今天我们讲一下如何使用代币来公开募资,即编写一个募资合约。
本文使用的参数为:"0xc6f9ea59d424733e8e1902c7837ea75e20abfb49",3, 100, 1,"0xad8972e2b583f580fc52f737b98327eb65d08f8c"参与人投资的时候实际购买众筹合约代币,所有需要先向合约预存代币,代币的数量为:募资额度 / 代币的价格 , 这里为:3 * 1000/1 = 3000 (当能也可以大于3000)。向合约预存代币可以使用myetherwallet钱包,或在remix中重新加载代币合约,执行代币合约tranfer()函数进行代币转账。如使用myetherwallet转账如图:
参与人投资行为即是向买众筹合约转账,转账时,会执行Fallback回退函数(即无名函数)向其账户打回相应的代币。safeWithdrawl() 可以被参与人或收益人执行,如果融资不达标参与人可收回之前投资款,如果融资达标收益人可以拿到所有的融资款。
写在前面
本文所讲的代币是使用以太坊智能合约创建,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么众筹
先简单说下众筹的概念:一般是这样的,我一个非常好的想法,但是我没有钱来做这事,于是我把这个想法发给大家看,说:我做这件事需要5百万,大家有没有兴趣投些钱,如果大家在30天内投够了5百万我就开始做,到时大家都是原始股东,如果募资额不到5百万,大家投的钱就还给大家。现在ICO众筹已经被各路大佬拿来割韭菜而被玩坏了(不管有无达标,都把钱卷走)。其实区块链技术本事非常适合解决众筹的信任问题,借助于智能合约,可以实现当募资额完成时,募资款自动打到指定账户,当募资额未完成时,可退款。这个过程不需要看众筹大佬的人品,不用依靠第三方平台信用担保。代币
传统的众筹在参与之后通常不容易交易(参与之后无法转给其他人),而通过用代币来参与众筹,则很容易进行交易,众筹的参与人可随时进行买卖,待众筹项目实施完成的时候,完全根据代币持有量进行回馈。举个例子说明下,大家会更容易理解,有这一个众筹:A有技术做一个能监测健康的指环,为此向公众募资200百万,募资时100块对应一个代币,约定在指环上市之后,代币的持有人可以用一个代币来兑换一个指环。而指环的研发周期是一年,因此在指环还未上市的一年里,众筹的参与人可以随时交易所持有的代币。众筹智能合约代码
接下来就看看如何实现一个众筹智能合约。部署及说明
在部署这个合约之前,我们需要先部署一个代币合约,请参考一步步教你创建自己的数字货币。创建众筹合约我们需要提供一下几个参数:ifSuccessfulSendTo: 募资成功后的收款方(其实这里可以默认为合约创建者)fundingGoalInEthers: 募资额度, 为了方便我们仅募3个etherdurationInMinutes: 募资时间finneyCostOfEachToken 每个代币的价格, 这里为了方便使用了单位finney及值为:1 (1 ether = 1000 finney)addressOfTokenUsedAsReward: 代币合约地址。如:本文使用的参数为:"0xc6f9ea59d424733e8e1902c7837ea75e20abfb49",3, 100, 1,"0xad8972e2b583f580fc52f737b98327eb65d08f8c"参与人投资的时候实际购买众筹合约代币,所有需要先向合约预存代币,代币的数量为:募资额度 / 代币的价格 , 这里为:3 * 1000/1 = 3000 (当能也可以大于3000)。向合约预存代币可以使用myetherwallet钱包,或在remix中重新加载代币合约,执行代币合约tranfer()函数进行代币转账。如使用myetherwallet转账如图:
参与人投资行为即是向买众筹合约转账,转账时,会执行Fallback回退函数(即无名函数)向其账户打回相应的代币。safeWithdrawl() 可以被参与人或收益人执行,如果融资不达标参与人可收回之前投资款,如果融资达标收益人可以拿到所有的融资款。
参考文档
Create a crowdsale学好区块链,拥抱新未来:区块链产品经理(点击入驻),和圈内人士混个脸熟。相关文章推荐
- 如何通过以太坊智能合约来进行众筹(ICO)
- 如何通过以太坊智能合约来进行众筹(ICO)
- 如何通过以太坊智能合约来进行众筹(ICO)
- 如何通过以太坊智能h5斗牛棋牌源码搭建合约来进行众筹(ICO)
- 【附代码】如何在私有链上编写、部署与以太坊进行交互的智能合约
- 如何在私有区块链上编写、部署以及与以太坊进行交互的智能合约
- 【附代码】如何在私有链上编写、部署与以太坊进行交互的智能合约
- C#如何进行以太坊合约调用交易,时间处理,使用过滤器和主题。
- 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法
- 以太坊系列之十六:golang进行智能合约开发
- 以太坊私链上开发一个ICO智能合约
- python如何使用web3py与以太坊投资智能合约交互
- 如何打造安全的以太坊智能合约
- 如何打造安全的以太坊智能合约
- 以太坊智能合约入门项目-众筹项目
- 如何进行更智能的自动化测试?
- 以太坊智能合约学习5 - Simple Open Auction
- 以太坊智能合约学习6 - Safe Remote Purchase
- 以太坊智能合约Hello World示例程序
- 数字资产交易系统区块链以太坊智能合约开发