打字猴:1.703878483e+09
1703878483 区块链项目开发指南 [:1703875376]
1703878484 区块链项目开发指南 7.3 创建投注合约
1703878485
1703878486 在投注应用中,两个人可以就一场足球比赛押注,一个支持主队,另一个支持客队。他们押注同样多的钱,赢家拿走所有钱。如果比赛结果是平局,则各自拿回自己的钱。
1703878487
1703878488 我们将使用FastestLiveScores API读取比赛结果。它提供一个免费接口,允许每小时免费进行100个请求。首先,创建一个账户,然后生成一个API key。为了创建一个账户,访问https://customer.fastestlivescores.com/register,一旦建立了账户,API key就在https://customer.fastestlivescores.com/可视。可以在https://docs.crowdscores.com/找到API文档。
1703878489
1703878490 在应用中,两个人只要打一次赌,就部署一个投注合约。该合约将包含从FastestLiveScores API检索的比赛ID,每一方需要投入的wei和双方地址。双方对合约投注后,将会看到比赛结果。在比赛结束之前,他们将每隔24小时查看一次结果。
1703878491
1703878492 合约代码如下:
1703878493
1703878494
1703878495
1703878496
1703878497
1703878498
1703878499
1703878500
1703878501
1703878502
1703878503 该合约代码无须解释说明。现在使用solc.js或者Browser Solidity编译程序代码。不需要接入strings库,因为其中所有函数的可视性都被设为internal。
1703878504
1703878505
1703878506 在Browser Solidity中,当指定从HTTP URL中导入一个库或者合约时,应确保它被托管在GitHub上,否则就不能抓取。在GitHub文件URL中,应确保已删除了协议和blob/{branch-name}。
1703878507
1703878508
1703878509
1703878510
1703878511 区块链项目开发指南 [:1703875377]
1703878512 区块链项目开发指南 7.4 为投注合约创建客户端
1703878513
1703878514 为了方便发现比赛ID以及部署和投资合约,需要创建一个UI客户端。先来创建一个客户端,它有两个路径,即home路径(用于部署合约和投注比赛)和other路径(用于发现比赛列表)。我们将允许用户使用离线账户进行部署和押注,这样投注的整个过程就是去中心化的,无法作弊。
1703878515
1703878516 在开始创建客户端之前,确保同步测试网,因为Oraclize只在以太坊的测试网/主网上工作,不在私有网络上工作。可以跳转到测试网,下载测试网区块链,用—testnet选项替换—dev选项,例如:
1703878517
1703878518
1703878519
1703878520
1703878521
1703878522
1703878523
1703878524 区块链项目开发指南 [:1703875378]
1703878525 区块链项目开发指南 7.4.1 项目结构
1703878526
1703878527 在本章的练习文件中,用户将发现Final和Initial两个目录。Final包含项目的最终源代码,而Initial包含可用于迅速创建应用的空的源代码文件和库。
1703878528
1703878529
1703878530 为了测试Final目录,需要在其中运行npm install。然后,使用Final目录中的node app.js命令运行该应用。
1703878531
1703878532 在Initial目录中,用户将发现一个public目录和两个文件(app.js和package.json)。package.json包含应用后端的相关内容,把应用后端的源代码放在app.js里。
[ 上一页 ]  [ :1.703878483e+09 ]  [ 下一页 ]