io.nuls.kernel.model.Transaction.size()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(2.9k)|赞(0)|评价(0)|浏览(72)

本文整理了Java中io.nuls.kernel.model.Transaction.size()方法的一些代码示例,展示了Transaction.size()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.size()方法的具体详情如下:
包路径:io.nuls.kernel.model.Transaction
类名称:Transaction
方法名:size

Transaction.size介绍

暂无

代码示例

代码示例来源:origin: nuls-io/nuls

public int getSize() {
  if (size == 0) {
    size = size();
  }
  return size;
}

代码示例来源:origin: nuls-io/nuls

@Override
public int size() {
  return tx.size() + 8;
}

代码示例来源:origin: nuls-io/nuls

@Override
public int size() {
  int size = header.size();
  for (Transaction tx : txs) {
    size += tx.size();
  }
  return size;
}

代码示例来源:origin: nuls-io/nuls

@Override
  public ValidateResult validate(Transaction data) {
    if (data.size() > MAX_TX_SIZE) {
      return ValidateResult.getFailedResult(this.getClass().getName(), KernelErrorCode.DATA_SIZE_ERROR);
    }
    return ValidateResult.getSuccessResult();
  }
}

代码示例来源:origin: nuls-io/nuls

@Override
  public ValidateResult validate(Block data) {
    if (data == null) {
      return ValidateResult.getFailedResult(this.getClass().getName(), KernelErrorCode.NULL_PARAMETER);
    }
    long length = 0L;
    for (Transaction tx : data.getTxs()) {
      // pierre add 验证区块大小 - 合约转账(从合约转出)交易如果计算在区块内,则不能跳过,目前没有计算在区块内
      if (tx.isSystemTx()) {
        continue;
      }
      length += tx.size();
    }
    if (length > ProtocolConstant.MAX_BLOCK_SIZE) {
      return ValidateResult.getFailedResult(this.getClass().getName(), ProtocolErroeCode.BLOCK_TOO_BIG);
    }
    return ValidateResult.getSuccessResult();
  }
}

代码示例来源:origin: nuls-io/nuls

@Override
  public ValidateResult validate(Transaction tx) {
    int txType = tx.getType();
    if (tx.isSystemTx()) {
      return ValidateResult.getSuccessResult();
    }
    CoinData coinData = tx.getCoinData();
    if (null == coinData) {
      return ValidateResult.getFailedResult(this.getClass().getName(), TransactionErrorCode.COINDATA_NOT_FOUND);
    }
    Na realFee = tx.getFee();
    Na fee = null;
    if (txType == ProtocolConstant.TX_TYPE_TRANSFER
        || txType == ProtocolConstant.TX_TYPE_DATA
        || txType == ContractConstant.TX_TYPE_CREATE_CONTRACT
        || txType == ContractConstant.TX_TYPE_CALL_CONTRACT
        || txType == ContractConstant.TX_TYPE_DELETE_CONTRACT) {
      fee = TransactionFeeCalculator.getTransferFee(tx.size());
    } else {
      fee = TransactionFeeCalculator.getMaxFee(tx.size());
    }
    if (realFee.isGreaterOrEquals(fee)) {
      return ValidateResult.getSuccessResult();
    }
    return ValidateResult.getFailedResult(this.getClass().getName(), TransactionErrorCode.FEE_NOT_RIGHT);
  }
}

代码示例来源:origin: nuls-io/nuls

int txSize = tx.size() + 38 + TxRemarkValidator.MAX_REMARK_LEN;
int targetSize = TxMaxSizeValidator.MAX_TX_SIZE - txSize;
Collections.sort(coinList, CoinComparatorDesc.getInstance());
int size = tx.size() + 38;

代码示例来源:origin: nuls-io/nuls

try {
  tx.getCoinData().setFrom(null);
  int txSize = tx.size();

代码示例来源:origin: nuls-io/nuls

public byte[] serializeForHash() throws IOException {
  ByteArrayOutputStream bos = null;
  try {
    int size = size() - SerializeUtils.sizeOfBytes(transactionSignature);

代码示例来源:origin: nuls-io/nuls

try {
  tx.getCoinData().setFrom(null);
  int txSize = tx.size();

代码示例来源:origin: nuls-io/nuls

long txSize = tx.size();
sizeTime += (System.nanoTime() - start);
if ((totalSize + txSize) > ProtocolConstant.MAX_BLOCK_SIZE) {

相关文章