# 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"
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
基于java的开发源码-md blockchain 开源java区块链平台.zip
共91个文件
java:78个
properties:5个
txt:2个
0 下载量 50 浏览量
2024-01-08
21:00:43
上传
评论
收藏 267KB ZIP 举报
温馨提示
打地鼠游戏设计c 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip 基于java的开发源码-md blockchain 开源java区块链平台.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于java的开发源码-md blockchain 开源java区块链平台.zip (91个子文件)
132683973293444235
blockchain
pom.xml 4KB
LICENSE.txt 11KB
src
test
java
org
rockyang
blockchain
pow
PowTest.java 2KB
TempTest.java 835B
utils
SignTest.java 2KB
wallet
WalletTest.java 3KB
CredentialTest.java 4KB
mine
BlockTest.java 1KB
db
RocksDbTest.java 1KB
main
resources
application.properties 771B
en-mnemonic-word-list.txt 13KB
application-node3.properties 404B
application-node2.properties 403B
META-INF
spring-devtools.properties 36B
application-node1.properties 402B
java
org
rockyang
blockchain
Application.java 331B
crypto
Base58.java 6KB
WalletFile.java 12KB
LinuxSecureRandom.java 4KB
BtcAddress.java 3KB
WalletUtils.java 8KB
Wallet.java 9KB
Hash.java 2KB
Credentials.java 2KB
MnemonicUtils.java 7KB
Sign.java 6KB
Bip39Wallet.java 970B
Keys.java 6KB
SecureRandomUtils.java 1KB
ECKeyPair.java 4KB
exceptions
CipherException.java 384B
MessageEncodingException.java 336B
MessageDecodingException.java 336B
utils
JsonVo.java 1KB
ByteUtils.java 1KB
Strings.java 1KB
Numeric.java 7KB
SerializeUtils.java 921B
web
handler
AppExceptionHandler.java 906B
controller
IndexController.java 337B
api
TransactionController.java 3KB
AccountController.java 2KB
BlockController.java 3KB
vo
res
AccountVo.java 343B
req
TransactionVo.java 926B
NodeVo.java 423B
net
client
AppClientAioHandler.java 7KB
AppClientAioListener.java 2KB
AppClient.java 4KB
base
BaseAioHandler.java 4KB
Node.java 289B
MessagePacket.java 1KB
ServerResponseVo.java 823B
MessagePacketType.java 1KB
server
AppServerAioListener.java 1KB
AppServerAioHandler.java 8KB
AppServer.java 877B
conf
TioProps.java 2KB
GroupContextConfig.java 2KB
ApplicationContextProvider.java 975B
event
NewTransactionEvent.java 349B
NewBlockEvent.java 357B
FetchNextBlockEvent.java 395B
BlockConfirmNumEvent.java 362B
core
TransactionExecutor.java 3KB
Transaction.java 3KB
Block.java 989B
TransactionPool.java 1KB
BlockBody.java 827B
BlockHeader.java 2KB
BlockChain.java 4KB
enums
TransactionStatusEnum.java 637B
account
Personal.java 986B
Account.java 1KB
mine
pow
ProofOfWork.java 3KB
PowResult.java 1KB
PowMiner.java 3KB
Miner.java 703B
MyApplicationRunner.java 1KB
constants
CryptoConstants.java 405B
listener
BlockEventListener.java 3KB
TransactionEventListener.java 1KB
conf
AppConfig.java 1KB
SwaggerConfig.java 2KB
db
DBAccess.java 3KB
RocksDBAccess.java 6KB
CHANGELOG.md 2KB
.gitignore 277B
imgs
api.png 70KB
install.png 95KB
README.md 2KB
共 91 条
- 1
资源评论
毕业课程设计
- 粉丝: 2246
- 资源: 1634
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功