SKALE Chain Precompiled Contracts
Each SKALE Chain comes with a set of precompiled contracts in addition to the precompiled contracts included with Ethereum (i.e. ecrecover, sha256, modexp, …).
| Address | Function | Description | Sender who can call | 
|---|---|---|---|
| 
 | readChunk | Reads chunk from file from specific position with specific length. | Any | 
| 
 | createFile | Creates an address for an empty file. | Filestorage only | 
| 
 | uploadChunk | Uploads 1MB chunk of data from specific position in specific file by file owner. | Filestorage only | 
| 
 | getFileSize | Returns size of file. | Any | 
| 
 | deleteFile | Deletes file from filestorage system. | Filestorage only | 
| 
 | createDirectory | Creates directory in filestorage system. | Filestorage only | 
| 
 | deleteDirectory | Deletes directory in filestorage system. | Filestorage only | 
| 
 | calculateFileHash | Calculates and writes SHA256 hash of file in same directory  | Filestorage only | 
| 
 | logTextMessage | Logs a message: 
 Used for IMA SKALE Chain testing. | Any | 
| 
 | getConfigVariableUint256 | Returns SKALE Chain config uint256 for IMA SKALE Chain contracts. Used for reading BLS common public key. | Any | 
| 
 | getConfigVariableAddress | Returns SKALE Chain config address for IMA SKALE Chain testing. | Any | 
| 
 | getConfigVariableString | Returns SKALE Chain config string for IMA SKALE Chain testing. | Any | 
| 
 | fnReserved0x16 | Reserved. | Any | 
| 
 | getConfigPermissionsFlag | Returns SKALE Chain config boolean for IMA SKALE Chain testing. | Any | 
| 
 | Return a random number based on BLS threshold signature common coin of the current block. | Any | |
| 
 | getIMABLSPublicKey | Returns relevant BLSPublicKey according to block timestamp. | Any |