区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术

区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术

Java 其它杂项

访问GitHub主页

共33Star

详细介绍

runlife_api

项目介绍

区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术

兑换步数算法

按照每总量剩余一半的时候兑换难度增加一倍,如目前按照平均步数5112计算,总量14亿,每天5112步可以兑换1step,当剩下不足7亿时,5112*2步数才可以兑换1step,依次类推,100万人参与按照平均步数5112步/天计算,兑换13.78125亿step需要3.7年

软件架构

接口:springboot框架

区块链:以太坊私有链

承载端:小程序(小程序比较简单,只需要按照传统模式请求api即可)

智能合约编译工具:solc 、web3j Cammond Line

合约所在的目录:runlife_api\src\main\java\com\daohu\runlife\api\ethereum\TokenERC.sol

通过以下命令生成的文件为:TokenERC_sol_TokenERC20.java、TokenERC_sol_tokenRecipient.java

solc编译智能合约:

solcjs TokenERC.sol --bin --abi --optimize -o ./

根据智能合约生成java代码

web3j solidity generate --solidityTypes TokenERC_sol_TokenERC20.bin TokenERC_sol_TokenERC20.abi -o ./ -p com.daohu.runlife.api.ethereum

服务器api接口必须结合以太坊私有链一起

接口api定义:

runlife接口定义

工具安装教程

  1. solc安装

    npm install -g solc

  2. web3j安装教程

见:web3j 命令行的使用

  1. 以太坊私有链环境搭建

见:centos7.0中搭建自己的以太坊私链测试环境(一)

服务器启动说明

  1. 启动以太坊私有链

    ./geth --datadir "./chain" --rpc --rpcapi "db,eth,net,web3,personal,admin,miner" --nodiscover console 2>>eth_output.log

  2. 启动挖矿

    miner.start(1)

  3. 启动服务器springboot

    nohup java -jar runlife-api-0.0.1-SNAPSHOT.jar >outlog.txt 2>&1 &

隐私设置

请注意本代码库中我已经人为的把数据库mysql密码、部署合约的钱包密码、生成私钥的salt等等去除掉了,大家在使用代码的时候留意。