net.corda.core.contracts / Attachment

# Attachment

`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:

- Calendar data

- Fixes (e.g. LIBOR)

- Smart contract code

- Legal documents

- Facts generated by oracles which might be reused a lot

### Inherited Properties

id | `abstract val id: SecureHash`

### Functions

extractFile | `open fun extractFile(path: String, outputTo: OutputStream): Unit` Finds the named file case insensitively and copies it to the output stream.
open | `abstract fun open(): InputStream`
openAsJAR | `open fun openAsJAR(): JarInputStream`