Search in sources :

Example 1 with TransactionMessage

use of io.nuls.protocol.message.TransactionMessage in project nuls by nuls-io.

the class GetTxMessageHandler method onMessage.

@Override
public void onMessage(GetTxMessage message, Node fromNode) {
    if (message == null || fromNode == null || null == message.getMsgBody()) {
        return;
    }
    Transaction tx = transactionService.getTx(message.getMsgBody());
    if (null == tx) {
        return;
    }
    TransactionMessage txMessage = new TransactionMessage();
    txMessage.setMsgBody(tx);
    Result result = messageBusService.sendToNode(txMessage, fromNode, true);
    if (!result.isSuccess()) {
        Log.error("send error to node : " + fromNode.getId());
    }
}
Also used : TransactionMessage(io.nuls.protocol.message.TransactionMessage) Transaction(io.nuls.kernel.model.Transaction) Result(io.nuls.kernel.model.Result)

Example 2 with TransactionMessage

use of io.nuls.protocol.message.TransactionMessage in project nuls by nuls-io.

the class TransactionServiceImpl method broadcastTx.

/**
 * 广播交易给连接的其他对等节点
 * The broadcast transaction gives the connection to other peers.
 *
 * @param tx 完整交易/the whole transaction
 * @return 广播结果/Broadcast the results
 */
@Override
public Result broadcastTx(Transaction tx) {
    try {
        ValidateResult validateResult = contractService.baseValidate(tx);
        if (validateResult.isFailed()) {
            return validateResult;
        }
    } catch (NulsException e) {
        Log.error(e);
        return Result.getFailed();
    }
    TransactionMessage message = new TransactionMessage();
    message.setMsgBody(tx);
    consensusService.newTx(tx);
    // return Result.getSuccess();
    return messageBusService.broadcast(message, null, true, 50);
}
Also used : TransactionMessage(io.nuls.protocol.message.TransactionMessage) NulsException(io.nuls.kernel.exception.NulsException) ValidateResult(io.nuls.kernel.validate.ValidateResult)

Aggregations

TransactionMessage (io.nuls.protocol.message.TransactionMessage)2 NulsException (io.nuls.kernel.exception.NulsException)1 Result (io.nuls.kernel.model.Result)1 Transaction (io.nuls.kernel.model.Transaction)1 ValidateResult (io.nuls.kernel.validate.ValidateResult)1