Module com.hedera.hashgraph.sdk
Package com.hedera.hashgraph.sdk.proto
Interface FileServiceGrpc.AsyncService
- All Known Implementing Classes:
FileServiceGrpc.FileServiceImplBase
- Enclosing class:
FileServiceGrpc
public static interface FileServiceGrpc.AsyncService
Service gRPC definitions for the Hedera File Service (HFS). #### Signature Requirements The HFS manages file authorization differently, depending on type of file transaction, and this can be surprising.<br/> The core element of file authorization is the `keys` field, which is a `KeyList`; a list of individual `Key` messages, each of which may represent a simple or complex key.<br/> The file service transactions treat this list differently.<br/> A `fileCreate`, `fileAppend`, or `fileUpdate` MUST have a valid signature from _each_ key in the list.<br/> A `fileDelete` MUST have a valid signature from _at least one_ key in the list. This is different, and allows a file "owned" by many entities to be deleted by any one of those entities. A deleted file cannot be restored, so it is important to consider this when assigning keys for a file.<br/> If any of the keys in a `KeyList` are complex, the full requirements of each complex key must be met to count as a "valid signature" for that key. A complex key structure (i.e. a `ThresholdKey`, or `KeyList`, possibly including additional `ThresholdKey` or `KeyList` descendants) may be assigned as the sole entry in a file `keys` field to ensure all transactions have the same signature requirements.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidappendContent(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Append content to a file in HFS.default voidcreateFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Create a file in HFS.default voiddeleteFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Delete a file in HFS.<br/> The content of a file deleted in this manner is completely removed from network state, but the file metadata remains.default voidgetFileContent(Query request, io.grpc.stub.StreamObserver<Response> responseObserver) Retrieve the content of a file in HFS.<br/> Note that this query retrieves _only_ the file content, not any of the metadata for the file.default voidgetFileInfo(Query request, io.grpc.stub.StreamObserver<Response> responseObserver) Retrieve the metadata for a file in HFS.<br/> Note that this query does not retrieve the file _content_.default voidsystemDelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Delete a "regular" file without "owner" authorization.<br/> This transaction _does not_ require signatures for the keys in the file `keys` list, but must be signed by a "privileged" account.default voidsystemUndelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Undelete a "regular" file.default voidupdateFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Update a file in HFS.
-
Method Details
-
createFile
default void createFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Create a file in HFS.
-
updateFile
default void updateFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Update a file in HFS.
-
deleteFile
default void deleteFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Delete a file in HFS.<br/> The content of a file deleted in this manner is completely removed from network state, but the file metadata remains.
-
appendContent
default void appendContent(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Append content to a file in HFS.
-
getFileContent
Retrieve the content of a file in HFS.<br/> Note that this query retrieves _only_ the file content, not any of the metadata for the file.
-
getFileInfo
Retrieve the metadata for a file in HFS.<br/> Note that this query does not retrieve the file _content_.
-
systemDelete
default void systemDelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Delete a "regular" file without "owner" authorization.<br/> This transaction _does not_ require signatures for the keys in the file `keys` list, but must be signed by a "privileged" account. <p> This transaction SHALL NOT accept a file identifier for a "system" file.<br/> This transaction SHALL NOT remove the _content_ of the file from state. This permits use of the `systemUndelete` to reverse this action if performed in error. <p> This is a privileged transaction, and only accounts 2-59 are permitted to call this function, by default. The actual restriction is in the `api-permission.properties` file in the consensus node configuration.
-
systemUndelete
default void systemUndelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver) Undelete a "regular" file. This transaction must be signed by a "privileged" account.<br/> <p> This transaction SHALL NOT accept a file identifier for a "system" file.<br/> The file identified SHOULD have been previously deleted.<br/> This transaction SHALL NOT recover the _content_ of a file unless that file was deleted with a `systemDelete` transaction. The _content_ of a file deleted with a `fileDelete` transaction is not retained in state. <p> This is a privileged transaction, and only accounts 2-60 are permitted to call this function, by default. The actual restriction is in the `api-permission.properties` file in the consensus node configuration.
-