Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
issue
issue
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

  • chainmaker
  • issueissue
  • Issues
  • #248

Closed
Open
Opened Jul 14, 2022 by 云 李@xuanfeng2 of 19 tasks completed2/19 tasks

JAVA SDK事件订阅接口无法获取数据

【问题分类】

  • bug
  • P2P网络相关(包含libp2p,liquid)
  • 链账户身份与权限相关(证书问题、public、多签投票问题)
  • 核心交易引擎相关(交易池、DAG)
  • 共识相关
  • 智能合约相关
  • 存储相关
  • SDK相关
  • 长安链CMC工具
  • 长安链管理台
  • 长安链浏览器
  • 长安链合约IDE
  • 长安链web签名插件
  • 跨链相关
  • 轻节点相关
  • 隐私计算相关
  • 密码学相关
  • 环境依赖
  • 其他补充:

【问题描述】(请对问题进行描述,方便定位问题)

消息订阅接口,按着SDK文档进行了区块订阅、交易订阅、事件订阅接口,其中事件订阅接口没有显示订阅的数据; 过程方法:1.部署链是按着命令方式一路默认完成; 2.安装合约,通过JAVA sdk安装rust-fact-1.0.0.wasm文件,合法名是counter; 3.执行合约方法save,交易数据上链成功; 4.执行SDK中订阅接口方法,再一次进行发送交易数据上链,没有打印数据。 合约方法save image 事件订阅接口

@test public void testSubscribeContractEvent() { StreamObserver<ResultOuterClass.SubscribeResult> responseObserver = new StreamObserver<ResultOuterClass.SubscribeResult>() { @Override public void onNext(ResultOuterClass.SubscribeResult result) { try { JSON.toJSONString(result); ResultOuterClass.ContractEventInfoList contract = ResultOuterClass.ContractEventInfoList.parseFrom(result.getData()); Assert.assertNotNull(contract); System.out.println("订阅到了"); System.out.println(contract); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } }

        @Override
        public void onError(Throwable throwable) {
            // can add log here
            System.out.println(throwable.getMessage());
        }

        @Override
        public void onCompleted() {
            // can add log here
        }
    };
    try {
        chainClient.subscribeContractEvent(-1,-1,"topic_vx", "counter", responseObserver);
        Thread.sleep(500000000);
    } catch (Exception e) {
        e.printStackTrace();
        Assert.fail(e.getMessage());
    }
}

合约,使用的是默认的 image

【系统信息】(请填写系统信息,方便定位问题)

链 2.2.1 和java SDK 2.2.0 都是按着文档进行的

Edited Jul 14, 2022 by 云 李
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/issue#248

Copyright © 2021 ChainMaker Org. All Rights Reserved. 长安链 版权所有。