区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术
区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术
Java 其它杂项
共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定义:
工具安装教程
-
solc安装
npm install -g solc
-
web3j安装教程
- 以太坊私有链环境搭建
服务器启动说明
-
启动以太坊私有链
./geth --datadir "./chain" --rpc --rpcapi "db,eth,net,web3,personal,admin,miner" --nodiscover console 2>>eth_output.log
-
启动挖矿
miner.start(1)
-
启动服务器springboot
nohup java -jar runlife-api-0.0.1-SNAPSHOT.jar >outlog.txt 2>&1 &
隐私设置
请注意本代码库中我已经人为的把数据库mysql密码、部署合约的钱包密码、生成私钥的salt等等去除掉了,大家在使用代码的时候留意。
-
69 Star
-
23 Star
-
40 Star
-
25 Star
-
38 Star
-
176 Star
-
24 Star