部署中间件

修改中间件配置文件

根据实际情况修改BROPTool\middleware-server目录下application.properties相应的配置项,其他配置默认即可。中间件所在服务器必须能访问到配置文件中的URL。

需要修改的项如下:

# BROP接入节点访问地址,根据实际环境选择其中一个
# 联调链No.02
api.nodeUrl=https://dev2node.brop.cn/
# 生产链
api.nodeUrl=https://node1.brop.cn/
# 专区链
api.nodeUrl=https://bronode.brop.cn/
# RocketMQ队列服务地址
api.rocketMQNamesrvAddr=[ip]:9876
# 加密机服务地址
api.hsmServer=http://[ip]:[port]
# mongodb的配置,填写账号密码,ip端口和数据库名
spring.data.mongodb.uri=mongodb://[ip]:[port]/[database_name]?connectTimeoutMS=300000&maxPoolSize=10

说明:建议合作方将MongoDB部署在高安全域中,并设置用户名和密码。

加入专区链需要添加如下配置

# 区块链类型
api.adapterChain=brochain-kuafu
# 专区编号,多个分区用英文字符“,”隔开,V4.6.0+配置时分区号可以不加“0x”。如0x000000000000047f000000005c7e384f00000000,0x000000000036c062000000005d381a3900000000
api.regionIds=regionId1,regionId2

加入联调链No.02需要添加如下配置

api.adapterChain=cita

筛选同步信息需要添加如下配置

说明:当contractFilter设置为true并且设置了有效的身份合约地址,中间件会只同步与该身份合约相关的合约信息,包括该身份合约的创建修改交易,该身份合约下的存证合约以及存证记录合约的创建交易等。如果contractFilter设置为false,则不过滤信息会同步所有合约。(专区链不配置以下项目)

api.contractFilter=true
api.accountAddress=身份合约地址1,身份合约地址2

如果contractFilter设置为true,但是身份合约地址配置错误,或者不配置,则会过滤掉所有合约

交易重试功能需要添加如下配置

# 是否开启交易重试验证,在关闭交易重试验证功能后,sendTxAndRetry接口将拒绝用户相关交易重试的请求,并返回相应的拒绝异常。
api.isTxRetryVerify=true
# 最大重试次数,一条交易重试次数到达该次数则置为无效,并不再重试
api.retryLimit=3
# 重试时间间隔
api.retryCorn=0/5 * * * * *
# 每次重试功能重试的交易数
api.retrySize=5

说明:用户在使用交易重试功能时,如果不想将区块链数据存储到数据库中,可以添加如下配置:

# 用于控制同步数据是否写入数据库,true为存储,false为不存储,中间件默认为true。
api.isSyncDataToDB=false

启动中间件

1.进入中间件文件夹

指令如下:

cd middleware-server

2.启动中间件服务middleware-server

指令如下:

bash start.sh

验证中间件服务是否正常

测试服务是否正常

指令如下:

curl HOST:PORT/block/getBlockNumberInfo.json

执行结果如下图所示,

说明:

  • chainBlockNumber 表示当前区块链最高块高度;
  • dbBlockNumber 表示中间件已经同步区块链信息的块高度;
  • diffBlockNumber 表示当前区块链最高块高度与中间件同步区块链信息的块高度差。高度差较大的情况下,发送交易上链需要的时间较长,建议等待中间件同步完成后(高度差为0)再执行上链业务。当前高度差较大时可使用下一章的同步工具完成快速同步。

查看中间件的版本信息

指令如下:

curl HOST:PORT/common/getVersion.json

执行结果如下图所示,

例如,

{"projectName":"middleware-server","version":"4.3.0"} 中间件,版本号4.3.0

results matching ""

    No results matching ""