com.jd.blockchain.ledger.Transaction Maven / Gradle / Ivy
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
/**
* Transaction 区块链交易,是被原子执行的操作集合;
*
* @author huanghaiquan
*
*/
@DataContract(code = DataCodes.TX)
public interface Transaction extends NodeRequest, HashObject {
/**
* 交易 Hash;
*
* 这是包含交易内容、签名列表、交易结果的完整性 hash;
*
* @return
*/
@DataField(order = 1, primitiveType = PrimitiveType.BYTES)
@Override
HashDigest getHash();
/**
* 交易被包含的区块高度;
*
* @return
*/
@DataField(order = 2, primitiveType = PrimitiveType.INT64)
long getBlockHeight();
/**
* 交易的执行结果;
*
* 值为枚举值 {@link TransactionState#CODE} 之一;
*
* @return
*/
@DataField(order = 3, refEnum = true)
TransactionState getExecutionState();
/**
* 交易的返回结果
*
* @return
*/
@DataField(order=4, list = true, refContract=true)
OperationResult[] getOperationResults();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy