慈善捐款越来越普遍,但该行业仍然存在着多年运作累积的很多问题。最令人诟病的就是善款去向不明、信息不公开,而且公益项目,每一笔善款都代表着公众对需要帮助的人的爱心和善意,一旦曝出贪污等不法行为,打击几乎是毁灭性的。在某些特定的情况下,这些问题也阻碍了人们奉献爱心。而区块链的出现正好为慈善捐款的公平公正提供了基础。
区块链技术具有数据不可篡改和可追溯性,可以用来构建监管部门所需要的,包含众多手段的监管工具箱。以利于实施精准、及时和更多纬度的监管。利用区块链来实现一个基金会的捐款系统,可以准确记录用户的每一笔捐款,明确每一次捐款的细则,避免了一些伪造的捐款、夸大数额的捐款出现。区块链在慈善领域有以下多个优势:
在官方网址下载安装包,选择LTSQ版本下载。
安装后在windows命令cmd窗口,输入node -v,能显示node的版本就成功第一步了
truffle是本地的用来编译、部署智能合约的工具。 在windows命令行窗口输入npm -g install truffle。
安装完成后输入truffle,检测truffle是否被正确安装
智能合约必须要部署到链上进行测试。可以选择部署到一些公共的测试链比如Rinkeby或者Ropsten上,缺点是部署和测试时间比较长,而且需要花费一定的时间赚取假代币防止out of gas。 这里使用了Ganache客户端,并且是带有图形界面的版本。 下载地址 打开Ganache,进入图形界面
选择QUICKSTART,Ganache默认建立十个用户,每个用户有100ETH的余额。 Ganache默认运行在7545端口,可以在界面右上方的“设置”里进行更改。
输入truffle compile编译合约
输入truffle migrate部署合约
输入命令npm run dev
使用webpack可以实时编译界面改动
进入应用主界面 直接点击捐献目标
添加捐献目标
为序号1的目标捐赠10eth
给不存在的目标捐款 转账金额超出账户余额(默认余额为100eth)
捐赠细则
交易返回值