Search in sources :

Example 1 with Int256

use of org.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.

the class Ok method getEventOrderLogEvents.

public List<EventOrderLogEventResponse> getEventOrderLogEvents(TransactionReceipt transactionReceipt) {
    final Event event = new Event("eventOrderLog", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<StaticArray<Bytes32>>() {
    }, new TypeReference<StaticArray<Int256>>() {
    }, new TypeReference<Int256>() {
    }));
    List<EventValues> valueList = extractEventParameters(event, transactionReceipt);
    ArrayList<EventOrderLogEventResponse> responses = new ArrayList<EventOrderLogEventResponse>(valueList.size());
    for (EventValues eventValues : valueList) {
        EventOrderLogEventResponse typedResponse = new EventOrderLogEventResponse();
        typedResponse.msg = (StaticArray<Bytes32>) eventValues.getNonIndexedValues().get(0);
        typedResponse.msg2 = (StaticArray<Int256>) eventValues.getNonIndexedValues().get(1);
        typedResponse.hello = (Int256) eventValues.getNonIndexedValues().get(2);
        responses.add(typedResponse);
    }
    return responses;
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) Int256(org.bcos.web3j.abi.datatypes.generated.Int256) ArrayList(java.util.ArrayList) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference) Bytes32(org.bcos.web3j.abi.datatypes.generated.Bytes32)

Example 2 with Int256

use of org.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.

the class Ok method eventOrderLogEventObservable.

public Observable<EventOrderLogEventResponse> eventOrderLogEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
    final Event event = new Event("eventOrderLog", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<StaticArray<Bytes32>>() {
    }, new TypeReference<StaticArray<Int256>>() {
    }, new TypeReference<Int256>() {
    }));
    EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
    filter.addSingleTopic(EventEncoder.encode(event));
    return web3j.ethLogObservable(filter).map(new Func1<Log, EventOrderLogEventResponse>() {

        @Override
        public EventOrderLogEventResponse call(Log log) {
            EventValues eventValues = extractEventParameters(event, log);
            EventOrderLogEventResponse typedResponse = new EventOrderLogEventResponse();
            typedResponse.msg = (StaticArray<Bytes32>) eventValues.getNonIndexedValues().get(0);
            typedResponse.msg2 = (StaticArray<Int256>) eventValues.getNonIndexedValues().get(1);
            typedResponse.hello = (Int256) eventValues.getNonIndexedValues().get(2);
            return typedResponse;
        }
    });
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) StaticArray(org.bcos.web3j.abi.datatypes.StaticArray) Int256(org.bcos.web3j.abi.datatypes.generated.Int256) EthFilter(org.bcos.web3j.protocol.core.methods.request.EthFilter) Log(org.bcos.web3j.protocol.core.methods.response.Log) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference) Bytes32(org.bcos.web3j.abi.datatypes.generated.Bytes32)

Example 3 with Int256

use of org.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.

the class LoadTestRunner method main.

public static void main(String[] args) throws Exception {
    logger.debug("初始化");
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    Service service = context.getBean(Service.class);
    service.run();
    System.out.println("3s后开始测试...");
    Thread.sleep(1000);
    System.out.println("2s后开始测试...");
    Thread.sleep(1000);
    System.out.println("1s后开始测试...");
    Thread.sleep(1000);
    System.out.println("开始测试");
    System.out.println("===================================================================");
    ChannelEthereumService channelEthereumService = new ChannelEthereumService();
    channelEthereumService.setChannelService(service);
    channelEthereumService.setTimeout(10000);
    Web3j web3 = Web3j.build(channelEthereumService);
    Thread.sleep(2000);
    // 先部署一个测试合约
    ECKeyPair keyPair = Keys.createEcKeyPair();
    Credentials credentials = Credentials.create(keyPair);
    RawTransactionManager rawTransactionManager = new RawTransactionManager(web3, credentials);
    java.math.BigInteger gasPrice = new BigInteger("30000000");
    java.math.BigInteger gasLimit = new BigInteger("30000000");
    java.math.BigInteger initialWeiValue = new BigInteger("0");
    LoadTest loadTest = LoadTest.deploy(web3, credentials, gasPrice, gasLimit, initialWeiValue).get();
    System.out.println("LoadTest getContractAddress " + loadTest.getContractAddress());
    // 发送交易
    for (Integer i = 0; i < 10; ++i) {
        Thread txThread = new Thread() {

            public void run() {
                try {
                    while (true) {
                        Thread.sleep(1000);
                        // TransactionReceipt receipt = loadTest.addCounter(new Utf8String(UUID.randomUUID().toString()), new Int256(1)).get();
                        loadTest.addCounter(new Utf8String(UUID.randomUUID().toString()), new Int256(1));
                    }
                } catch (Exception e) {
                    logger.error("系统错误", e);
                }
            }
        };
        txThread.start();
    }
    // 读取合约
    for (Integer i = 0; i < 10; ++i) {
        Thread callThread = new Thread() {

            public void run() {
                try {
                    while (true) {
                        Address origin = loadTest._origin().get();
                        Address sender = loadTest._sender().get();
                        logger.info("storage sender:{} origin:{}", sender.toString(), origin.toString());
                    }
                } catch (Exception e) {
                    logger.error("系统错误", e);
                }
            }
        };
        callThread.start();
    }
    // 200个线程,发链上链下消息
    for (Integer i = 0; i < 10; ++i) {
        Thread messageThread = new Thread() {

            public void run() {
                try {
                    while (true) {
                        ChannelRequest request = new ChannelRequest();
                        request.setToTopic("test");
                        request.setFromOrg("WB");
                        request.setToOrg("EB");
                        request.setMessageID(service.newSeq());
                        StringBuffer sb = new StringBuffer();
                        for (int i = 0; i < 500; ++i) {
                            sb.append("hello world!:");
                        }
                        request.setContent(sb.toString() + request.getMessageID());
                        request.setTimeout(2000);
                        // ChannelResponse response = service.sendChannelMessage2(request);
                        logger.info("发送链上链下消息:{}", request.getMessageID());
                        ChannelResponse response = service.sendChannelMessage(request);
                        logger.info("收到链上链下响应:{} {}", response.getMessageID(), response.getErrorCode());
                    }
                } catch (Exception e) {
                    logger.error("系统错误", e);
                }
            }
        };
        messageThread.start();
    }
    for (int i = 0; i < 10; ++i) {
        TransactionReceipt receipt = loadTest.addCounter(new Utf8String(UUID.randomUUID().toString()), new Int256(1)).get();
        Address origin = loadTest._origin().get();
        Address sender = loadTest._sender().get();
        List<Type> addresses = loadTest.constGetInf().get();
        logger.info("const sender:{} origin:{}", (((Address) addresses.get(0)).toString()), (((Address) addresses.get(1)).toString()));
        logger.info("storage sender:{} origin:{}", sender.toString(), origin.toString());
    }
}
Also used : ChannelRequest(org.bcos.channel.dto.ChannelRequest) Address(org.bcos.web3j.abi.datatypes.Address) ChannelEthereumService(org.bcos.web3j.protocol.channel.ChannelEthereumService) ApplicationContext(org.springframework.context.ApplicationContext) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) BigInteger(java.math.BigInteger) ECKeyPair(org.bcos.web3j.crypto.ECKeyPair) TransactionReceipt(org.bcos.web3j.protocol.core.methods.response.TransactionReceipt) Service(org.bcos.channel.client.Service) ChannelEthereumService(org.bcos.web3j.protocol.channel.ChannelEthereumService) RawTransactionManager(org.bcos.web3j.tx.RawTransactionManager) ChannelResponse(org.bcos.channel.dto.ChannelResponse) BigInteger(java.math.BigInteger) Utf8String(org.bcos.web3j.abi.datatypes.Utf8String) Int256(org.bcos.web3j.abi.datatypes.generated.Int256) Web3j(org.bcos.web3j.protocol.Web3j) Type(org.bcos.web3j.abi.datatypes.Type) BigInteger(java.math.BigInteger) Credentials(org.bcos.web3j.crypto.Credentials)

Aggregations

Int256 (org.bcos.web3j.abi.datatypes.generated.Int256)3 EventValues (org.bcos.web3j.abi.EventValues)2 TypeReference (org.bcos.web3j.abi.TypeReference)2 Event (org.bcos.web3j.abi.datatypes.Event)2 Bytes32 (org.bcos.web3j.abi.datatypes.generated.Bytes32)2 BigInteger (java.math.BigInteger)1 ArrayList (java.util.ArrayList)1 Service (org.bcos.channel.client.Service)1 ChannelRequest (org.bcos.channel.dto.ChannelRequest)1 ChannelResponse (org.bcos.channel.dto.ChannelResponse)1 Address (org.bcos.web3j.abi.datatypes.Address)1 StaticArray (org.bcos.web3j.abi.datatypes.StaticArray)1 Type (org.bcos.web3j.abi.datatypes.Type)1 Utf8String (org.bcos.web3j.abi.datatypes.Utf8String)1 Credentials (org.bcos.web3j.crypto.Credentials)1 ECKeyPair (org.bcos.web3j.crypto.ECKeyPair)1 Web3j (org.bcos.web3j.protocol.Web3j)1 ChannelEthereumService (org.bcos.web3j.protocol.channel.ChannelEthereumService)1 EthFilter (org.bcos.web3j.protocol.core.methods.request.EthFilter)1 Log (org.bcos.web3j.protocol.core.methods.response.Log)1