A transaction that creates a new file on a Hedera network. The file is referenced by its file ID which can be obtained from the receipt or record once the transaction reaches consensus on a Hedera network. The file does not have a file name. If the file is too big to create with a singleDocumentation Index
Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
Use this file to discover all available pages before exploring further.
FileCreateTransaction(), the file can be appended with the remaining content multiple times using the FileAppendTransaction().
The maximum file size is 1,024 kB.
- The key on the file is required to sign the transaction if different than the client operator account key
- Please see the transaction and query fees table for base transaction fee
- Please use the Hedera fee estimator to estimate your transaction fee cost
File Properties
| Field | Description |
|---|---|
| Key(s) | Set the keys which must sign any transactions modifying this file (the owner(s) of the file). All keys must sign to modify the file’s contents or keys. No key is required to sign for extending the expiration time (except the one for the operator account paying for the transaction). The network currently requires a file to have at least one key (or key list or threshold key) but this requirement may be lifted in the future. |
| Contents | The contents of the file. The file contents can be recovered from requesting the FileContentsQuery. Note that the total size for a given transaction is limited to 6KiB (as of March 2020) by the network; if you exceed this you may receive a TRANSACTION_OVERSIZE error. |
| Expiration Time | Set the instant at which this file will expire, after which its contents will no longer be available. Defaults to 1/4 of a Julian year from the instant was invoked. |
| Memo | Short publicly visible memo about the file. No guarantee of uniqueness. (100 characters max) |
Methods
| Constructor | Description |
|---|---|
new FileCreateTransaction() | Initializes the FileCreateTransaction object |
The default max transaction fee (1 hbar) is not enough to create a a file. Use
setDefaultMaxTransactionFee()to change the default max transaction fee from 1 hbar to 2 hbars.| Method | Type | Requirement |
|---|---|---|
setKeys(<keys>) | Key | Required |
setContents(<contents>) | String | Optional |
setContents(<bytes>) | bytes [ ] | Optional |
setExpirationTime(<expirationTime>) | Instant | Optional |
setFileMemo(<memo>) | String | Optional |
Get transaction values
| Method | Type | Requirement |
|---|---|---|
getKeys() | Key | Optional |
getContents() | ByteString | Optional |
getExpirationTime() | Instant | Optional |
getFileMemo() | String | Optional |