corda / net.corda.core.contracts / NamedByHash

NamedByHash

interface NamedByHash

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

Properties

id

abstract val id: SecureHash

Inheritors

Attachment

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:

interface Attachment : NamedByHash

BaseTransaction

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

abstract class BaseTransaction : NamedByHash

MaybeSerializedSignedTransaction

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 MaybeSerializedSignedTransaction : NamedByHash

TransactionWithSignatures

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

interface TransactionWithSignatures : NamedByHash