12 Star 75 Fork 24

迷鹿 / Prophet-Ethereum(事件预测)

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Prophet(预言家)

访问GitHub项目 | 访问码云项目

中文 | English

基于以太坊区块链智能合约技术和Vue框架开发的投票预测平台

实现用户在有成本制约条件下,整体投票结果对预测事件未来走向具有良好的参考价值。同时采用区块链技术,避免开发人员篡改数据的可能,保证了投票数据安全可靠,增强了平台可信度。

介于国际网络限制,无法直接使用Infura访问以太坊Dapp,因此平台完整体验采用安装MetaMask浏览器插件的解决办法。

功能与优化

  • 连接区块链
  • 创建用户
  • 个人信息展示
  • 投票事件展示
  • 创建事件
  • 事件投票
  • 事件汇报
  • 申请奖励
  • 不同颜色展示事件状态
  • 展示用户所以操作记录
  • Other

智能合约数据结构

//完整代码见 src/Solidity

contract Ballot{
    struct Event{
        uint ID;//事件ID
        address Sponsor;//发起人 
        string Content;//事件内容 
        string[] Option;//事件选项 
        address Reporter;//汇报人 
        uint StartDate;//开始时间 
        uint Deadline;//截至时间 
        address [] Voters;//投票人 
        uint PrizePool;//奖池 
        bool Report;//汇报状态 默认为false
        uint Result;//事件结果 对应选项索引 默认为99
    }
    
    struct Player{
        address Uesr;//用户地址 
        uint Balance;//用户余额 
        uint[] Created;//已创建ID
        uint[] Selected;//已投票ID
        uint[] Report;//需汇报ID
        mapping(uint=>Option) OptionInfo;//每个已投票事件的选项资金 
    }
    
    struct Option{
        bool Voted;//事件投票状态 
        uint Time; //投票时间
        uint Option;//事件选项 
        uint Finance;//事件金额 
        bool Reward;//事件奖励状态  
    }
    
    struct Finance{
        mapping(uint=>uint) Finance;//选项对应金额 
    }
    
    struct Log{
        uint Time;
        uint ID;
        string action;
        int Change;
        uint Balance;
    }
        

    Event[] Events;//总事件
    mapping(uint=>Finance) EventFinance;//事件对应金额 
    address[] ExistPlayers;//总用户 
    mapping(address=>Player) Players;//用户对应信息 
    mapping(address=>Log[]) PlayerLogs;

所用技术

注意:在VueCli 2.x中公共文件放入static文件夹,而在VueCli 3.x版本中请放入public文件夹,否则axios无法找到文件。该项目采用VueCli 3.x。

项目简略介绍

  • 分类展示事件
  • 进度条和颜色表示不同有效期时长的事件
  • 提供查看详情按钮
  • 展示事件状态、当前投票信息和所有用户投票纪录等
  • 分类展示事件
  • 汇报事件图标提醒
  • 表单验证
  • 快捷日期选择
  • 创建用户
  • 区块链信息展示
  • 醒目的个人平台代币余额
  • 个人操作纪录
  • 部分小细节(浏览demo发现更多

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Customize configuration

See Configuration Reference.

开源协议

  • 请遵循原作者MIT开源协议
MIT License Copyright (c) 2020 Miluer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

基于以太坊区块链智能合约技术和Vue框架开发的去中心化投票预测平台。实现用户在有成本制约条件下,整体投票结果对预测事件未来走向具有良好的参考价值。同时采用区块链技术,避免开发人员篡改数据的可能,保证了投票数据安全可靠,增强了平台可信度。 展开 收起
JavaScript 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/t940783074/Prophet.git
git@gitee.com:t940783074/Prophet.git
t940783074
Prophet
Prophet-Ethereum(事件预测)
master

搜索帮助