learn
环境搭建 & Web3j 轻量级的以太坊开发库for Java:
https://github.com/littleredhat1997/Ethereum
- IntelliJ IDEA 2017 (org.apache.maven.archetypes:maven-archetype-webapp)
- Apache Tomcat 8.5.16
- Geth 1.7.3
- 部署 crowdfunding.sol 合约
# 参考 https://github.com/littleredhat1997/Ethereum
# 部署合约方式一 - wallet 部署
# 部署合约方式二 - geth 部署
# 部署合约方式三 - web3j 部署
# 记录合约地址
- 导入 crowdfunding 工程
File -> new -> Module from Existing Sources... -> 选中pom.xml文件 -> 一直next
- 配置 config.properties 数据
- 启动服务器 https://localhost:8080/crowdfunding/index.html
optimize
以太坊写入速度太慢影响用户体验- 对于需要查询的事务,采用对象池加载服务
- 对于需要执行的事务,采用异步请求事务
note:
src/main/resources/config.properties 配置文件
help:
--com.redhat.crowdfunding.util 工具包
----Consts.java 常量类
----Utils.java 工具类
--com.redhat.crowdfunding.model 模型类
----Fund.java 众筹项目
----Record.java 捐赠记录
--com.redhat.crowdfunding.contract 合约类
----CrowdFundingInterface.java HelloWorld 接口
----CrowdFundingContract.java HelloWorld 实现
----CrowdFundingMain.java HelloWorld 部署
--com.redhat.crowdfunding.service 服务类
----CrowdFundingService.java 接口
----CrowdFundingServiceImpl.java 实现
--com.redhat.crowdfunding.pool 对象池
----CrowdFundingServicePool.java
--com.redhat.crowdfunding.controller 控制器
----CrowdFundingController.java