# blockchain-java
Java实现的一个简易区块链(联盟链)项目,包括加密工具,钱包,P2P 传输,区块同步,POW 共识等基础实现。
-----------------------------------------------
## 单节点部署
__这个很简单, 直接像运行普通的 SpringBoot 项目一样运行就好了,单节点默认使用的 node1 节点的配置__
## 多节点部署
项目默认部署3个节点,创建了3个配置文件 application-{env}.yml,
如果想要部署更多的节点,再创建更多的配置文件就 OK 了。
使用 idea 部署测试非常简单,按照下面的方法添加多个 springBoot 启动配置。
![](imgs/install.png)
然后分别启动 3 个节点就好了。启动之后节点之间自动连接成 P2P 网络,随后你就可以使用 postman 工具进行测试了,如果没有安装 postman 的话请自行安装,或者和我一样使用 chrome 浏览器的 postman 扩展。
## 简单测试
首先依次启动 node1 - node3 3个节点,由于在启动的时候会自动链接初始化的节点,各自连接成为一个 P2P 的网络,所以被链接的节点没有启动的时候会抛出网络异常,不用管它,等其他节点启动好了之后又会自动连接上的。
你可以使用 PostMan 工具对上面的 RESTFUL api 进行一一测试。不过从 v1.2 之后我在项目中集成了 swagger2,所以现在更好的测试是直接使用 swagger
的 api ui 页面进行测试: http://localhost:8081/swagger-ui.html
![](imgs/api.png)
直接点击相应的 api 进行测试就 OK 了。
## Web 测试 API
API名称 | 请求方式 | URL
--------|---------|------
生成钱包 | POST | /api/account/new_account
查看钱包列表 | GET | /api/account/list
获取挖矿账号 | GET | /api/account/get_miner_address
启动挖矿 | GET | /api/chain/mining
发送交易 | POST | /api/chain/send_transactions
查看最后一个区块 | GET | /api/chain/block/head
添加节点 | POST | /api/chain/node/add
查看节点 | GET | /api/chain/node/view
> 注意:凡是 POST 请求都是使用 RequestBody 的方式传参的, 不是用表单的 form-data 形式, 比如发送交易的参数形式如下:
```
{
"name" : "value",
"name2" : "value2"
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
blockchain-java简易区块链项目 v1.2
共94个文件
java:78个
properties:5个
txt:3个
9 下载量 162 浏览量
2020-11-03
12:07:16
上传
评论 1
收藏 262KB ZIP 举报
温馨提示
为您提供blockchain-java简易区块链项目下载,blockchain-java是一个以Java实现的简易区块链(联盟链)项目,包括加密工具,钱包,P2P 传输,区块同步,POW 共识等基础实现。单节点部署这个很简单, 直接像运行普通的 SpringBoot 项目一样运行就好了,单节点默认使用的 node1 节点的配置多节点部署项目默认部署3个节点,创建了3个配置文件 application-{env}.yml, 如果想要部署更多的节点,再创建更
资源详情
资源评论
资源推荐
收起资源包目录
20201013174906805_easck.com.zip (94个子文件)
下载说明.htm 3KB
易采源码下载.url 344B
易采源码下载说明.txt 310B
blockchain
.gitignore 277B
src
main
resources
application-node2.properties 403B
META-INF
spring-devtools.properties 36B
application-node1.properties 402B
application.properties 771B
en-mnemonic-word-list.txt 13KB
application-node3.properties 404B
java
org
rockyang
blockchain
core
Transaction.java 3KB
BlockBody.java 827B
BlockHeader.java 2KB
TransactionPool.java 1KB
BlockChain.java 4KB
Block.java 989B
TransactionExecutor.java 3KB
event
BlockConfirmNumEvent.java 362B
FetchNextBlockEvent.java 395B
NewBlockEvent.java 357B
NewTransactionEvent.java 349B
exceptions
MessageDecodingException.java 336B
CipherException.java 384B
MessageEncodingException.java 336B
listener
TransactionEventListener.java 1KB
BlockEventListener.java 3KB
db
RocksDBAccess.java 6KB
DBAccess.java 3KB
enums
TransactionStatusEnum.java 637B
utils
Numeric.java 7KB
Strings.java 1KB
ByteUtils.java 1KB
SerializeUtils.java 921B
JsonVo.java 1KB
net
client
AppClientAioListener.java 2KB
AppClient.java 4KB
AppClientAioHandler.java 7KB
server
AppServerAioListener.java 1KB
AppServerAioHandler.java 8KB
AppServer.java 877B
ApplicationContextProvider.java 975B
conf
TioProps.java 2KB
GroupContextConfig.java 2KB
base
MessagePacket.java 1KB
Node.java 289B
BaseAioHandler.java 4KB
MessagePacketType.java 1KB
ServerResponseVo.java 823B
web
handler
AppExceptionHandler.java 906B
controller
api
BlockController.java 3KB
TransactionController.java 3KB
AccountController.java 2KB
IndexController.java 337B
vo
req
TransactionVo.java 926B
NodeVo.java 423B
res
AccountVo.java 343B
mine
Miner.java 703B
pow
PowMiner.java 3KB
ProofOfWork.java 3KB
PowResult.java 1KB
constants
CryptoConstants.java 405B
crypto
Keys.java 6KB
BtcAddress.java 3KB
MnemonicUtils.java 7KB
Credentials.java 2KB
SecureRandomUtils.java 1KB
Wallet.java 9KB
Sign.java 6KB
Base58.java 6KB
WalletUtils.java 8KB
Hash.java 2KB
WalletFile.java 12KB
Bip39Wallet.java 970B
LinuxSecureRandom.java 4KB
ECKeyPair.java 4KB
conf
AppConfig.java 1KB
SwaggerConfig.java 2KB
account
Account.java 1KB
Personal.java 986B
MyApplicationRunner.java 1KB
Application.java 331B
test
java
org
rockyang
blockchain
db
RocksDbTest.java 1KB
TempTest.java 835B
utils
SignTest.java 2KB
wallet
CredentialTest.java 4KB
WalletTest.java 3KB
pow
PowTest.java 2KB
mine
BlockTest.java 1KB
CHANGELOG.md 2KB
LICENSE.txt 11KB
pom.xml 4KB
README.md 2KB
imgs
api.png 70KB
install.png 95KB
共 94 条
- 1
weixin_38648309
- 粉丝: 5
- 资源: 902
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0