前置条件
- 您需要在区块链实例中安装云服务集成, 并开通RocketMQ集成功能。
- 创建一个 RocketMQ消息队列 实例,文中以实例“fabric-instance”,消息主题“event”为例。
- 下载云服务集成示例代码。
- 本地安装 Node.js v8 环境(>=8.17.0)
使用方法
- 在控制台创建云服务集成消息队列触发器,更多可以参考配置消息队列触发器:
- 配置触发器的事件类型为 Tx。
- 根据帮助,填写RocketMQ实例的相关信息。
- 按照文档部署链码将示例链码 taskmgr 部署到通道中。
- 进入
blockchain2sms
目录,按照注释修改 main.js 中的配置参数,填入REST API地址、Refresh Token、通道名和智能合约名称。更多信息请参考文档使用REST API。 - 执行
npm install
安装依赖包,通过node main.js
发起示例交易。 - 进入RocketMQ控制台,便可查询到已经推送到消息队列的消息。
成功示例输出
Data pushed to blockchain with transaction 701c7006f26aed8457273a00bbfcc8cea4d75eac958996e07837036ea7e2fdac
{ id: '701c7006f26aed8457273a00bbfcc8cea4d75eac958996e07837036ea7e2fdac',
status: '200',
events:
[ { type: 'Contract',
platform: 'Fabric',
instance_id: 'csi-e2ehmfqasth-bcw7tzao2dzeo',
network: '',
id: '',
name: 'event-create-task',
content: 'eyJuY...TAz' }
Data pushed to blockchain with transaction 60a06a189415db587b49cbf91b46467bce1ea16490b19f6dfc8d520aa31240bc
{ id: '60a06a189415db587b49cbf91b46467bce1ea16490b19f6dfc8d520aa31240bc',
status: '200',
events:
[ { type: 'Contract',
platform: 'Fabric',
instance_id: 'csi-e2ehmfqasth-bcw7tzao2dzeo',
network: '',
id: '',
name: 'event-task-finished',
content: 'eyJuY...p7In0=' } ],
data: 'eyJu...In0=' }
Data pushed to blockchain with transaction 7810e0496a1c91a16102736b00a6f26da0baa42874a907fff26bff1b7eb3bf27
{ id: '7810e0496a1c91a16102736b00a6f26da0baa42874a907fff26bff1b7eb3bf27',
status: '200',
events: [],
data: 'eyJu...nIn0=' }