corda / net.corda.core.contracts / NamedByHash


interface NamedByHash

Implemented by anything that can be named by a secure hash value (e.g. transactions, attachments).



abstract val id: SecureHash

Extension Functions


fun Any.contextLogger(): <ERROR CLASS>

When called from a companion object, returns the logger for the enclosing class.



interface Attachment : NamedByHash

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to contain public static data which can be referenced from transactions and utilised from contracts. Good examples of how attachments are meant to be used include:


abstract class BaseTransaction : NamedByHash

An abstract class defining fields shared by all transaction types in the system.


class MaybeSerializedSignedTransaction : NamedByHash

In the words of Matt working code is more important then pretty code. This class that contains code that may be serialized. If it were always serialized then the local disk fetch would need to serialize then de-serialize which wastes time. However over the wire we get batch fetch items serialized. This is because we need to get the exact length of the objects to pack them into the 10MB max message size buffer. We do not want to serialize them multiple times so it's a lot more efficient to send the byte stream.


class SignaturesMissingException : NamedByHash, SignatureException, CordaThrowable


interface TransactionWithSignatures : NamedByHash

An interface for transactions containing signatures, with logic for signature verification.