我们使用一个自增的序号来创建新的众筹项目。在创建项目时,我们需要使用“needer”结构体实例来为参数赋值。你可以根据众筹项目ID向该项目捐款(转账),在这个过程中我们必须使用关键字“payable”。在捐赠之前,需要检查捐赠者的钱包余额是否足够,并校验项目是否已经完成,只有在这两个条件都成立的情况下,才能将捐款金额直接转账到当前合约中,并记录捐赠者的数量和身份。
结束众筹项目的原因有很多,但在本合约中,我们以捐赠完成为例。捐赠完成后,合约发起人(受益者)可以请求将资金直接转到自己的钱包地址。这也将触发一笔交易,因此需要在调用该方法时使用关键字“payable”。在该方法中,还会使用修饰词“onlyOwner”,表示只有合约发起者才能执行该方法。
虽然众筹完成后合约没有被销毁,但仍然可以退款。该方法将根据捐赠者的请求将合约上的资金退还给捐赠者。
你可以在此处访问该合约的源代码:https://github.com/Jacky-MYD/Crowd-funding-solidity。
用戶喜愛的交易所
已有账号登陆后会弹出下载