# 基于FiscoBcos的java-sdk实现区块链服务
## 项目结构
基于spring-boot的mvn项目
![001.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/001.png)
* conf 链证书、机构证书、机构私钥、账户
![002.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/002.png)
* contract 应用合约,sol文件
![003.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/003.png)
* application-dev.yml
```
channel-service:
group-id: 1 # sdk实际连接的群组
config-toml:
config-path: classpath:config.toml #区块链集群的配置文件
contract-address:
kVPerson: "0x3cc40ecd5000f58c3458fef29b91114bd5e18da3" #合约地址
```
* config.toml
```
[cryptoMaterial]
certPath = "conf"
caCert = "conf/ca.crt" #链证书
sslCert = "conf/sdk.crt" #机构证书
sslKey = "conf/sdk.key" #机构私钥
#enSslCert = "conf/gm/gmensdk.crt" #集群为国密版,则需要配置
#enSslKey = "conf/gm/gmensdk.key"
[network]
peers=["192.168.160.135:20200", "192.168.160.135:20201"] #节点ip:port
[account]
keyStoreDir = "account"
accountFilePath = "conf/0x9ff96dcf17f27ddd643c23bc1236733aa92a1f20.pem"
accountFileFormat = "pem"
accountAddress = "0x9ff96dcf17f27ddd643c23bc1236733aa92a1f20" #账户
```
* pom.xml
引用fisco-bcos-java-sdk的2.7.1版本
![004.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/004.png)
## 拷贝证书
### 集群的链证书、机构证书、机构私钥复制项目conf文件下
![005.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/005.png)
### 控制台下账户复制项目conf文件下
![006.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/006.png)
## 控制台部署合约
![007.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/007.png)
```
deploy KVPerson
transaction hash: 0x72908963644b7e897bf03d0a9ddb9f76428f5b1684aee89eb251d0adf15bdb75
contract address: 0x3cc40ecd5000f58c3458fef29b91114bd5e18da3
```
### 拷贝合约地址
把合约地址复制到项目的application-dev.yml配置文件里,通过合约地址来加载合约,获取合约对象。
![008.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/008.png)
### 生成java文件
1. 合约转换成java文件
```
./sol2java.sh com.fish1208.contract ~/console-all/console-A/contracts/solidity/KVPerson.sol ~/console-all/console-A/contracts/console/
```
![009.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/009.png)
2. 将转换后的java文件复制到项目com.fish1208.contract包里
![010.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/010.png)
## 代码开发
### BcosSDKConfig.java
通过config-toml.toml配置文件获取BcosSDK对象
### ClientConfig.java
通过application-dev.yml配置文件的channel-service得到群组,获取Client连接
### ContractConfig.java
通过application-dev.yml配置文件的contract-address得到合约地址,用来加载合约,获取合约对象
### PersonController.java
调用合约的set、get方法,进行数据上链、链上数据查询。
## 项目启动
![011.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/011.png)
## 调用接口
### 执行KVPerson合约set方法
http://127.0.0.1:7022/contract/person/set
**请求**
```$xslt
POST /contract/person/set HTTP/1.1
Content-Type: application/json
{
"id":"1",
"name":"袁洪相",
"age":100,
"sex":"男"
}
```
![012.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/012.png)
### 执行KVPerson合约get方法
http://127.0.0.1:7022/contract/person/get?id=1
**请求**
```$xslt
GET /contract/person/get HTTP/1.1
id=1
```
![013.png](https://github.com/hongfish/fish1208-fiscobcos-javasdk/blob/main/src/main/resources/image/013.png)
## Github地址
https://github.com/hongfish/fish1208-fiscobcos-javasdk
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于FiscoBcos的java-sdk实现.zip (73个子文件)
java0323
contract
solidity
HelloWorld.sol 429B
Table.sol 2KB
ERC1155Tradable
utils
SafeMath.sol 2KB
Strings.sol 2KB
Ownable.sol 1KB
Address.sol 2KB
LibEIP712.sol 2KB
LibBytes.sol 2KB
SignatureValidator.sol 5KB
interfaces
IERC1155Meta.sol 3KB
IERC1271Wallet.sol 2KB
IERC20.sol 750B
IERC1155TokenReceiver.sol 3KB
IERC1155.sol 6KB
IERC165.sol 497B
ERC1155Tradable.sol 7KB
tokens
ERC1155
ERC1155Metadata.sol 3KB
ERC1155MintBurn.sol 3KB
ERC1155Meta.sol 13KB
ERC1155.sol 9KB
KVPerson.sol 1KB
pom.xml 3KB
src
main
resources
config.toml 3KB
image
009.png 21KB
011.png 103KB
006.png 15KB
003.png 3KB
001.png 15KB
010.png 87KB
008.png 49KB
004.png 14KB
005.png 19KB
007.png 12KB
013.png 30KB
012.png 44KB
002.png 3KB
application-dev.yml 488B
application.yml 57B
logback-spring.xml 5KB
java
com
fish1208
bcos
ContractAddress.java 246B
util
Convert.java 2KB
DateUtils.java 565B
config
ClientConfig.java 771B
ContractConfig.java 3KB
BcosSDKConfig.java 1KB
contract
QuestionAnswer.java 92KB
HelloWorld.java 8KB
ERC1155.java 48KB
KVPerson.java 28KB
BillController.java 197KB
WorldCup.java 93KB
ERC1155Tradable.java 129KB
controller
PersonController.java 2KB
QuestionController.java 2KB
ERC1155Controller.java 1KB
ERC1155TradableController.java 5KB
AccountController.java 1KB
WorldCupController.java 2KB
BillsController.java 2KB
common
constant
GlobalConstants.java 531B
response
Result.java 6KB
ResultCode.java 3KB
IResultCode.java 369B
entiy
Bill.java 1KB
FiscoBcosJavasdkApplication.java 441B
conf
0xa8649e8dabd359f9344c9892928f02bb2cab2bb5.pem 249B
0xc16c45601119916a507f362280141bab739b34c0.pem 156B
sdk.crt 1KB
0xf4e4a35aed2bc63273876741ae53290e82c5ee71.pem 156B
ca.crt 680B
sdk.key 237B
0x3a69ce56dd05eef86c1d0841992b12a72e55d6a8.pem 249B
README.md 4KB
共 73 条
- 1
资源评论
Kwan的解忧杂货铺@新空间代码工作室
- 粉丝: 4w+
- 资源: 3729
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- yolox_cfp_s.pth
- CFAR-radar-algorithm-MATLAB-GUI-master.zip
- I2 Localization v2.8.22 f4
- 盒子检测13-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 大黄蜂塔防.exe大黄蜂塔防1.exe大黄蜂塔防2.exe
- 2024大模型在金融行业的落地探索.pptx
- 盒子检测49-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- IMG_20241224_190113.jpg
- 【安卓源代码】奶牛管理新加功能(完整前后端+mysql+说明文档).zip
- 【安卓源代码】群养猪生长状态远程监测(完整前后端+mysql+说明文档).zip
- 基于分治法的快速排序算法设计与分析报告
- 糖果店冲击.exe糖果店冲击1.exe糖果店冲击2.exe
- 目标靶子检测29-YOLO(v5至v9)、COCO、CreateML、Paligemma、TFRecord数据集合集.rar
- MATLAB优化工具箱使用教程
- simulink-master.zip
- 硬币、塑料、瓶子检测13-YOLO(v7至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功