本仓库存放的是一个基于Ethereum的数据公布平台的源代码,是2018年上学期的区块链课程设计.前端基于Vue框架构建,使用了Element前端UI库设计界面,并调用echarts API进行可视化的显示.
在企业、组织等的运营过程中,我们往往有着对外公布数据的需要。而数据 的公布,我们希望这是一个公开透明的过程:数据公布后,其内容不应该会被重 新修改。区块链中的不可篡改的特性很好地满足的这个需求。 另一方面,数据公布之后,我们希望可以用一些方便而直观的手段查看这些 数据:例如作出数据报表,饼图等辅助我们分析。我们希望我们的客户端能够实 现数据的公布和可视化查看等操作
运行这个数据公布平台需要连接上一个Ethereum的节点.平台允许使用MetaMask或普通的Ethereum节点进行连接.
把智能合约部署到公链或测试链上,记录智能合约的部署地址,填入/src/contract/config.json
文件内.
{
"contractAddressMetaMask": "0xaa348a67fb3005ec3ff766d55fae607e73d7b4ce"
}
部署好自己的节点后,记录智能合约的部署地址,填入/src/contract/config.json
文件内.
{
"contractAddressLocal": "0xe7d1f44fe73cd146c21d8aa4721d6bb642bd9078",
}
修改/vue.config.js
文件,把节点地址填入(此处以http://localhost:8545
为例):
module.exports = {
devServer: {
proxy: {
"/web3": {
target: 'http://localhost:8545',
changeOrigin: true
},
}
}
}
使用npm install
安装依赖.并使用npm run serve
命令启动后端程序.在保证区块链成功连接的情况下,在浏览器访问localhost:8080
即可使用.
- 创建区块链账户
- 组织负责人使用账户注册组织
- 组织按以一年为单位,精细到一个月发布数据
- 区块链上其他人可以通过智能合约获取某个组织公布的数据,并自定义和可视化地查看数据
用户可以注册一个用户,以便进行数据发布工作.注册组织需要用户密码解锁账户.
已注册组织的用户可以进行信息发布,信息发布需要用户密码解锁账户.
用户界面的错误提示分为输入提示和运行结果提示
当区块链账户解锁密码错误时,界面会弹出提示.
当区块链账户余额不够支付当前交易(如注册和发布数据)时,程序会弹出提示.
当交易允许被进行,将可以等待写入链内,程序会弹出提示框提示用户等待交易被写入.
当交易成功后,程序会弹出提示,报告成功.
npm install
npm run serve
npm run build
npm run test
npm run lint