org.fisco.bcos.web3j.protocol.channel.ChannelEthereumService Java Examples

The following examples show how to use org.fisco.bcos.web3j.protocol.channel.ChannelEthereumService. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Web3Config.java    From WeBASE-Front with Apache License 2.0 6 votes vote down vote up
/**
 * init Web3j of default group id 1
 */
@Bean
public Web3j getWeb3j(GroupChannelConnectionsConfig groupChannelConnectionsConfig)
        throws Exception {
    Service service = new Service();
    service.setOrgID(orgName);
    service.setGroupId(independentGroupId);
    service.setThreadPool(sdkThreadPool());
    service.setAllChannelConnections(groupChannelConnectionsConfig);
    service.run();
    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setTimeout(timeout);
    channelEthereumService.setChannelService(service);
    Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
    // init node version
    NodeVersion version = web3j.getNodeVersion().send();
    Constants.version = version.getNodeVersion().getVersion();
    Constants.chainId = version.getNodeVersion().getChainID();
    log.info("Chain's clientVersion:{}", Constants.version);
    return web3j;
}
 
Example #2
Source File: TestBase.java    From web3sdk with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUpBeforeClass() throws Exception {

	context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

  Service service = context.getBean(Service.class);
  service.run();

  ChannelEthereumService channelEthereumService = new ChannelEthereumService();
  channelEthereumService.setChannelService(service);

  System.out.println("EncryptType =>  " + EncryptType.getEncryptType());

  web3j = Web3j.build(channelEthereumService, service.getGroupId());
  credentials = GenCredential.create();
  Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
  blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
  blockHash = ok.getTransactionReceipt().get().getBlockHash();
  txHash = ok.getTransactionReceipt().get().getTransactionHash();
}
 
Example #3
Source File: PerformanceDTTest.java    From web3sdk with Apache License 2.0 6 votes vote down vote up
public void initialize(String groupId) throws Exception {
    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.setGroupId(Integer.parseInt(groupId));
    service.run();

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);

    Web3AsyncThreadPoolSize.web3AsyncCorePoolSize = 3000;
    Web3AsyncThreadPoolSize.web3AsyncPoolSize = 2000;

    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(500);

    web3 =
            Web3j.build(
                    channelEthereumService,
                    15 * 100,
                    scheduledExecutorService,
                    Integer.parseInt(groupId));
    credentials = GenCredential.create();
    transactionManager = Contract.getTheTransactionManager(web3, credentials);
}
 
Example #4
Source File: SigServiceApp.java    From group-signature-client with GNU General Public License v3.0 6 votes vote down vote up
public boolean loadConfig() throws Exception {
    System.out.println("please wait ...");
    Service service;
    try {
        context = new ClassPathXmlApplicationContext("classpath:node/application.xml");
        service = context.getBean(Service.class);
        service.run();
    } catch (Exception e) {
        logger.error("load config failed, error msg: " + e.getMessage());
        throw new Exception("load config failed, error msg: " + e.getMessage());
    }

    credentials = GenCredential.create();

    // channel eth service
    ChannelEthereumService channelService = new ChannelEthereumService();
    channelService.setChannelService(service);
    channelService.setTimeout(5000);
    web3j = Web3j.build(channelService, service.getGroupId());
    return true;
}
 
Example #5
Source File: TestBase.java    From WeBASE-Front with Apache License 2.0 6 votes vote down vote up
@BeforeClass
  public static void setUpBeforeClass() throws Exception {
    // 获取spring配置文件,生成上下文
    context = new ClassPathXmlApplicationContext("applicationContext.xml");
    //   ((ClassPathXmlApplicationContext) context).start();

    Service service = context.getBean(Service.class);
    service.run();

    System.out.println("start...");
    System.out.println("===================================================================");

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);

    web3j = Web3j.build(channelEthereumService, service.getGroupId());
    // EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();
//
//    Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
//    address = ok.getContractAddress();
//    blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
//    blockHash = ok.getTransactionReceipt().get().getBlockHash();
//    txHash = ok.getTransactionReceipt().get().getTransactionHash();
  }
 
Example #6
Source File: TestBase.java    From WeBASE-Front with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUpBeforeClass() throws Exception {
  // 获取spring配置文件,生成上下文
  context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
  //   ((ClassPathXmlApplicationContext) context).start();

  Service service = context.getBean(Service.class);
  service.run();

  System.out.println("start...");
  System.out.println("===================================================================");

  ChannelEthereumService channelEthereumService = new ChannelEthereumService();
  channelEthereumService.setChannelService(service);
  channelEthereumService.setTimeout(10000);
  web3j = Web3j.build(channelEthereumService, service.getGroupId());
  // EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();

}
 
Example #7
Source File: TestBase.java    From WeBASE-Front with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUpBeforeClass() throws Exception {
  // 获取spring配置文件,生成上下文
  context = new ClassPathXmlApplicationContext("applicationContext.xml");
  //   ((ClassPathXmlApplicationContext) context).start();

  Service service = context.getBean(Service.class);
  service.run();

  System.out.println("start...");
  System.out.println("===================================================================");

  ChannelEthereumService channelEthereumService = new ChannelEthereumService();
  channelEthereumService.setChannelService(service);

  web3j = Web3j.build(channelEthereumService, service.getGroupId());
  // EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();

}
 
Example #8
Source File: TestBase.java    From WeBASE-Front with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUpBeforeClass() throws Exception {
  // 获取spring配置文件,生成上下文
  context = new ClassPathXmlApplicationContext("applicationContext.xml");
  //   ((ClassPathXmlApplicationContext) context).start();

  Service service = context.getBean(Service.class);
  service.run();

  System.out.println("start...");
  System.out.println("===================================================================");

  ChannelEthereumService channelEthereumService = new ChannelEthereumService();
  channelEthereumService.setChannelService(service);

  web3j = Web3j.build(channelEthereumService, service.getGroupId());
  // EthBlockNumber ethBlockNumber = web3.ethBlockNumber().send();

  Ok ok = Ok.deploy(web3j, credentials, new StaticGasProvider(gasPrice, gasLimit)).send();
  address = ok.getContractAddress();
  blockNumber = ok.getTransactionReceipt().get().getBlockNumber();
  blockHash = ok.getTransactionReceipt().get().getBlockHash();
  txHash = ok.getTransactionReceipt().get().getTransactionHash();
}
 
Example #9
Source File: BcosApp.java    From evidenceSample with Apache License 2.0 5 votes vote down vote up
public boolean loadConfig() throws Exception{
	context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
	Service service = context.getBean(Service.class);
       service.run();
       ChannelEthereumService channelEthereumService = new ChannelEthereumService();
       channelEthereumService.setChannelService(service);
       web3j = Web3j.build(channelEthereumService,service.getGroupId());
       boolean flag=false;
       if(web3j!=null){
       	flag=true;
       }
       return flag;
}
 
Example #10
Source File: TestTxDecode.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static TransactionReceipt sentTx() throws Exception {
    // init the Service
    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.run();
    ECKeyPair keyPair = Keys.createEcKeyPair();
    Credentials credentials = Credentials.create(keyPair);
    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);
    service.setGroupId(1);
    Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());

    RemoteCall<TableTest> deploy =
            TableTest.deploy(
                    web3j,
                    credentials,
                    new StaticGasProvider(
                            new BigInteger("30000000"), new BigInteger("30000000")));
    TableTest tableTest = deploy.send();
    tableTest.create().send();

    String name = "fruit";
    int item_id = 1;
    String item_name = "apple";

    RemoteCall<TransactionReceipt> insert =
            tableTest.insert(name, BigInteger.valueOf(item_id), item_name);
    TransactionReceipt txReceipt = insert.send();

    return txReceipt;
}
 
Example #11
Source File: GMOkTransaction.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {
    EncryptType encryptType = new EncryptType(1);
    String groupId = "1";
    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.run();
    System.out.println("===================================================================");

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);
    channelEthereumService.setTimeout(10000);
    Web3j web3 = Web3j.build(channelEthereumService, Integer.parseInt(groupId));
    BigInteger gasPrice = new BigInteger("300000000");
    BigInteger gasLimit = new BigInteger("3000000000");

    Credentials credentials1 =
            GenCredential.create(
                    "a392604efc2fad9c0b3da43b5f698a2e3f270f170d859912be0d54742275c5f6");

    ContractGasProvider contractGasProvider = new StaticGasProvider(gasPrice, gasLimit);
    final Ok okDemo = Ok.deploy(web3, credentials1, contractGasProvider).send();

    for (int i = 0; i < 1; i++) {
        System.out.println("####contract address is: " + okDemo.getContractAddress());
        TransactionReceipt receipt = okDemo.trans(new BigInteger("4")).send();

        System.out.println(" balance = " + okDemo.get().send().intValue());
    }
    System.exit(0);
}
 
Example #12
Source File: GMTableTestClient.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {

        // init the Service
        ApplicationContext context =
                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        Service service = context.getBean(Service.class);
        service.setGroupId(Integer.parseInt(args[0]));
        service.run(); // run the daemon service
        // init the client keys
        keyPair = Keys.createEcKeyPair();
        credentials = GenCredential.create(keyPair.getPrivateKey().toString(16));

        logger.info("-----> start test !");
        logger.info("init AOMP ChannelEthereumService");
        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);
        channelEthereumService.setTimeout(5 * 1000);
        try {
            web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
        } catch (Exception e) {
            System.out.println("\nPlease provide groupID in the first parameters");
            System.exit(0);
        }

        if (args.length > 1) {
            if ("deploy".equals(args[1])) {
                deployTableTest();
            } else {
                String[] params = new String[args.length - 1];
                for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
                testTableTest(params);
            }
        } else {
            System.out.println(
                    "\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
        }
        System.exit(0);
    }
 
Example #13
Source File: GMErc20Transaction.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {
    EncryptType encryptType = new EncryptType(1);
    System.out.println(encryptType.getEncryptType());
    String groupId = "1";
    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.run();
    System.out.println("===================================================================");

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);
    channelEthereumService.setTimeout(10000);
    Web3j web3 = Web3j.build(channelEthereumService, Integer.parseInt(groupId));
    BigInteger gasPrice = new BigInteger("300000000");
    BigInteger gasLimit = new BigInteger("300000000");

    Credentials credentials1 =
            GenCredential.create(
                    "a392604efc2fad9c0b3da43b5f698a2e3f270f170d859912be0d54742275c5f6");

    ContractGasProvider contractGasProvider = new StaticGasProvider(gasPrice, gasLimit);
    NewSolTest erc20 = NewSolTest.deploy(web3, credentials1, contractGasProvider).send();

    for (int i = 0; i < 1; i++) {
        System.out.println("####contract address is: " + erc20.getContractAddress());
        erc20.transfer("0x0f49a17d17f82da2a7d92ecf19268274150eaf5e", new BigInteger("100"))
                .send();

        BigInteger oldBalance =
                erc20.balanceOf("0x0f49a17d17f82da2a7d92ecf19268274150eaf5e").send();
        System.out.println(
                "0x0f49a17d17f82da2a7d92ecf19268274150eaf5e balance" + oldBalance.intValue());
    }
    System.exit(0);
}
 
Example #14
Source File: MixContractClient.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {

        // init the Service
        ApplicationContext context =
                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        Service service = context.getBean(Service.class);
        service.setGroupId(Integer.parseInt(args[0]));
        service.run(); // run the daemon service
        // init the client keys
        keyPair = Keys.createEcKeyPair();
        credentials = Credentials.create(keyPair);

        logger.info("-----> start test !");
        logger.info("init AOMP ChannelEthereumService");
        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);
        try {
            web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
        } catch (Exception e) {
            System.out.println("\nPlease provide groupID in the first paramters");
            System.exit(0);
        }

        if (args.length > 1) {
            if ("deploy".equals(args[1])) {
                deploymixContract();
            } else {
                String[] params = new String[args.length - 1];
                for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
                testMixContract(params);
            }
        } else {
            System.out.println(
                    "\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
        }
        System.exit(0);
    }
 
Example #15
Source File: OkClient.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {

        // init the Service
        ApplicationContext context =
                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        Service service = context.getBean(Service.class);
        service.setGroupId(Integer.parseInt(args[0]));
        service.run(); // run the daemon service
        // init the client keys
        keyPair = Keys.createEcKeyPair();
        credentials = Credentials.create(keyPair);

        logger.info("-----> start test !");
        logger.info("init AOMP ChannelEthereumService");
        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);
        try {
            web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
        } catch (Exception e) {
            System.out.println("\nPlease provide groupID in the first paramters");
            System.exit(0);
        }

        if (args.length > 1) {
            if ("deploy".equals(args[1])) {
                deployOk();
            } else {
                String[] params = new String[args.length - 1];
                for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
                testOk(params);
            }
        } else {
            System.out.println("\nPlease choose follow commands:\n deploy, trans or get");
        }
        System.exit(0);
    }
 
Example #16
Source File: TableTestClient.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {

        // init the Service
        ApplicationContext context =
                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        Service service = context.getBean(Service.class);
        service.setGroupId(Integer.parseInt(args[0]));
        service.run(); // run the daemon service
        // init the client keys
        keyPair = Keys.createEcKeyPair();
        credentials = GenCredential.create(keyPair.getPrivateKey().toString(16));

        logger.info("-----> start test !");
        logger.info("init AOMP ChannelEthereumService");
        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);
        channelEthereumService.setTimeout(5 * 1000);
        try {
            web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));
        } catch (Exception e) {
            System.out.println("\nPlease provide groupID in the first paramters");
            System.exit(0);
        }

        if (args.length > 1) {
            if ("deploy".equals(args[1])) {
                deployTableTest();
            } else {
                String[] params = new String[args.length - 1];
                for (int i = 0; i < params.length; i++) params[i] = args[i + 1];
                testTableTest(params);
            }
        } else {
            System.out.println(
                    "\nPlease choose follow commands:\n deploy, create, insert, select, update or remove");
        }
        System.exit(0);
    }
 
Example #17
Source File: Web3ApiService.java    From WeBASE-Front with Apache License 2.0 5 votes vote down vote up
/**
 * init a new web3j of group id, add in groupChannelConnectionsConfig's connections
 * @param groupId
 * @return
 */
private synchronized Web3j initWeb3j(int groupId) {
    log.info("initWeb3j of groupId:{}", groupId);
    List<ChannelConnections> channelConnectionsList =
            groupChannelConnectionsConfig.getAllChannelConnections();
    ChannelConnections channelConnections = new ChannelConnections();
    channelConnections.setConnectionsStr(channelConnectionsList.get(0).getConnectionsStr());
    channelConnections.setGroupId(groupId);
    channelConnectionsList.add(channelConnections);
    org.fisco.bcos.channel.client.Service service = new org.fisco.bcos.channel.client.Service();
    service.setOrgID(Web3Config.orgName);
    service.setGroupId(groupId);
    service.setThreadPool(threadPoolTaskExecutor);
    service.setAllChannelConnections(groupChannelConnectionsConfig);
    try {
        service.run();
    } catch (Exception e) {
        log.error("initWeb3j fail. groupId:{} error:[]", groupId, e);
        throw new FrontException("refresh web3j failed");
    }
    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setTimeout(web3Config.getTimeout());
    channelEthereumService.setChannelService(service);
    Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
    web3jMap.put(groupId, web3j);
    return web3j;
}
 
Example #18
Source File: PerformanceDTTest.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public void initialize(String groupId) throws Exception {

        ApplicationContext context =
                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        Service service = context.getBean(Service.class);
        service.setGroupId(Integer.parseInt(groupId));
        service.run();

        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);

        Web3AsyncThreadPoolSize.web3AsyncCorePoolSize = 3000;
        Web3AsyncThreadPoolSize.web3AsyncPoolSize = 2000;

        ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(500);
        Web3j web3 =
                Web3j.build(
                        channelEthereumService,
                        15 * 100,
                        scheduledExecutorService,
                        Integer.parseInt(groupId));

        Credentials credentials = GenCredential.create();

        dagTransfer =
                DagTransfer.load(
                        dagTransferAddr,
                        web3,
                        credentials,
                        new StaticGasProvider(
                                new BigInteger("30000000"), new BigInteger("30000000")));
        transactionManager = Contract.getTheTransactionManager(web3, credentials);
    }
 
Example #19
Source File: GroupManager.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public Web3j init() throws Exception {
    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.run();

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);

    Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());
    return web3j;
}
 
Example #20
Source File: GenerateGroup.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {
    if (args.length < 3) {
        Usage();
    }

    int groupID = Integer.valueOf(args[0]);
    long timestamp = Long.valueOf(args[1]);
    List<String> nodes = new ArrayList<>();

    for (int i = 2; i < args.length; ++i) {
        nodes.add(args[i]);
    }

    System.out.println(
            " Generate Group operation, groupID: "
                    + groupID
                    + " ,timestamp: "
                    + timestamp
                    + " ,nodes: "
                    + nodes);

    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.setGroupId(1);
    service.run();

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);

    Web3j web3j = Web3j.build(channelEthereumService, 1);

    org.fisco.bcos.web3j.protocol.core.methods.response.GenerateGroup generateGroup =
            web3j.generateGroup(groupID, timestamp, false, nodes).send();
    logger.info("  generateGroup result: {}", generateGroup);

    System.out.println(" generateGroup result: " + generateGroup.getStatus());

    System.exit(0);
}
 
Example #21
Source File: StartGroup.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {
    if (args.length < 1) {
        Usage();
    }

    int groupID = Integer.valueOf(args[0]);

    System.out.println(" Start Group operation, groupID: " + groupID);

    ApplicationContext context =
            new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.setGroupId(1);
    service.run();

    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);

    Web3j web3j = Web3j.build(channelEthereumService, 1);

    org.fisco.bcos.web3j.protocol.core.methods.response.StartGroup startGroup =
            web3j.startGroup(groupID).send();
    logger.info("  StartGroup result: {}", startGroup);

    System.out.println(" StartGroup result: " + startGroup.getStatus());

    System.exit(0);
}
 
Example #22
Source File: CallContractTest.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {

        try {
            // init the Service
            ApplicationContext context =
                    new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

            Service service = context.getBean(Service.class);
            service.setGroupId(Integer.parseInt(args[0]));
            service.run(); // run the daemon service
            // init the client keys
            credentials = GenCredential.create();

            logger.info("-----> start test in CallContractTest!");
            ChannelEthereumService channelEthereumService = new ChannelEthereumService();
            channelEthereumService.setTimeout(10 * 1000);
            channelEthereumService.setChannelService(service);
            web3j = Web3j.build(channelEthereumService, Integer.parseInt(args[0]));

            if (args.length == 2) {
                String address = args[1];
                CallContract callContract = new CallContract(credentials, web3j);
                System.out.println(
                        "************************ Test call & sendTrandation ************************");
                testSyncCallContract(callContract, address);
                testAsyncCallContract(callContract, address);

                System.out.println("************************ Test decode ************************");
                testDecode(callContract, address);
                System.out.println("Test CallContract successfully.");
            } else {
                System.out.println("Please input group id and contract address.");
            }
        } catch (Exception e) {
            System.out.println(e.getLocalizedMessage());
            System.exit(1);
        }

        System.exit(0);
    }
 
Example #23
Source File: JsonRpc2_0Web3j.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
@Override
public Request<?, ConsensusStatus> getConsensusStatus() {
    return new Request<>(
            "getConsensusStatus",
            Arrays.asList(groupId),
            (ChannelEthereumService) web3jService,
            ConsensusStatus.class);
}
 
Example #24
Source File: JsonRpc2_0Web3j.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public synchronized void setBlockNumber(BigInteger blockNumber) {
    if (blockNumber.compareTo(
                    ((ChannelEthereumService) web3jService).getChannelService().getNumber())
            > 0) {
        ((ChannelEthereumService) web3jService).getChannelService().setNumber(blockNumber);
    }
}
 
Example #25
Source File: Contract.java    From web3sdk with Apache License 2.0 5 votes vote down vote up
public void registerEventLogPushFilter(
        TransactionDecoder decoder,
        EventLogUserParams params,
        EventLogPushWithDecodeCallback callback) {

    Web3jService service = ((JsonRpc2_0Web3j) web3j).web3jService();

    ChannelEthereumService channelEthereumService = (ChannelEthereumService) service;
    // set timeout
    // filter.setTimeout(channelEthereumService.getTimeout());
    callback.setDecoder(decoder);

    channelEthereumService.getChannelService().registerEventLogFilter(params, callback);
}
 
Example #26
Source File: Web3SDKConnector.java    From WeEvent with Apache License 2.0 5 votes vote down vote up
public static Web3j initWeb3j(Service service) throws BrokerException {
    // init web3j with given group id
    try {
        log.info("begin to initialize web3sdk's Web3j, group id: {}", service.getGroupId());
        StopWatch sw = StopWatch.createStarted();

        // special thread for TransactionSucCallback.onResponse, callback from IO thread directly if not setting
        //service.setThreadPool(poolTaskExecutor);
        service.run();

        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(service);
        channelEthereumService.setTimeout(service.getConnectSeconds() * 1000);
        Web3j web3j = Web3j.build(channelEthereumService, service.getGroupId());

        // check connect with getNodeVersion command
        NodeVersion.Version version = web3j.getNodeVersion().send().getNodeVersion();
        String nodeVersion = version.getVersion();
        if (StringUtils.isBlank(nodeVersion)
                || !nodeVersion.contains(FISCO_BCOS_2_X_VERSION_PREFIX)) {
            log.error("init web3sdk failed, mismatch FISCO-BCOS version in node: {}", nodeVersion);
            throw new BrokerException(ErrorCode.WEB3SDK_INIT_ERROR);
        }
        chainID = version.getChainID();

        sw.stop();
        log.info("initialize web3sdk success, group id: {} cost: {} ms", service.getGroupId(), sw.getTime());
        return web3j;
    } catch (Exception e) {
        log.error("init web3sdk failed", e);
        throw new BrokerException(ErrorCode.WEB3SDK_INIT_ERROR);
    }
}
 
Example #27
Source File: Web3jV2BeanConfig.java    From WeBASE-Collect-Bee with Apache License 2.0 5 votes vote down vote up
@Bean
public Web3j getWeb3j() throws Exception {
    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    Service service = getService();
    service.run();
    channelEthereumService.setChannelService(service);
    // default sync transactions timeout: 30s
    channelEthereumService.setTimeout(30000);
    return Web3j.build(channelEthereumService, service.getGroupId());
}
 
Example #28
Source File: Request.java    From web3sdk with Apache License 2.0 4 votes vote down vote up
public String sendForReturnString() throws IOException {
    ChannelEthereumService channelEthereumService = (ChannelEthereumService) web3jService;
    return channelEthereumService.sendSpecial(this);
}
 
Example #29
Source File: JsonRpc2_0Web3j.java    From web3sdk with Apache License 2.0 4 votes vote down vote up
public BigInteger getLocalBlockNumber() {
    return ((ChannelEthereumService) web3jService).getChannelService().getNumber();
}
 
Example #30
Source File: ConnectionCallback.java    From web3sdk with Apache License 2.0 4 votes vote down vote up
private void queryBlockNumber(ChannelHandlerContext ctx) throws JsonProcessingException {

        final String host = ChannelHandlerContextHelper.getPeerHost(ctx);

        String seq = channelService.newSeq();

        BcosMessage bcosMessage = new BcosMessage();
        bcosMessage.setType((short) ChannelMessageType.CHANNEL_RPC_REQUEST.getType());
        bcosMessage.setSeq(seq);
        ChannelEthereumService channelEthereumService = new ChannelEthereumService();
        channelEthereumService.setChannelService(channelService);

        Request<Integer, BlockNumber> request =
                new Request<>(
                        "getBlockNumber",
                        Arrays.asList(channelService.getGroupId()),
                        channelEthereumService,
                        BlockNumber.class);

        bcosMessage.setData(ObjectMapperFactory.getObjectMapper().writeValueAsBytes(request));
        ByteBuf byteBuf = ctx.alloc().buffer();
        bcosMessage.writeHeader(byteBuf);
        bcosMessage.writeExtra(byteBuf);
        ctx.writeAndFlush(byteBuf);

        String content = new String(bcosMessage.getData());
        logger.info(" query block number host: {}, seq: {}, content: {}", host, seq, content);

        channelService
                .getSeq2Callback()
                .put(
                        seq,
                        new BcosResponseCallback() {
                            @Override
                            public void onResponse(BcosResponse response) {
                                try {
                                    BlockNumber blockNumber =
                                            ObjectMapperFactory.getObjectMapper()
                                                    .readValue(
                                                            response.getContent(),
                                                            BlockNumber.class);

                                    SocketChannel socketChannel = (SocketChannel) ctx.channel();
                                    InetSocketAddress socketAddress = socketChannel.remoteAddress();
                                    channelService
                                            .getNodeToBlockNumberMap()
                                            .put(
                                                    socketAddress.getAddress().getHostAddress()
                                                            + socketAddress.getPort(),
                                                    blockNumber.getBlockNumber());

                                    logger.info(
                                            " query blocknumer, host:{}, blockNumber: {} ",
                                            host,
                                            blockNumber.getBlockNumber());
                                } catch (Exception e) {
                                    logger.error(
                                            " query blocknumer failed, host: {}, message: {} ",
                                            host,
                                            e.getMessage());

                                    throw new MessageDecodingException(response.getContent());
                                }
                            }
                        });
    }