The gateway node is a server that handles signed requests made by the dApps through the integrated storage SDK. Once authenticated each signed transaction from the SDK that is submitted to the gateway node by a user is first parsed and then relayed to the Arcana blockchain as a meta-transaction by the gateway node itself. A meta-transaction is an EVM compatible transaction that contains the actual initial transaction within it. In using this meta-transaction style architecture the signers themselves do not have to pay the transaction fees and the management of payments is handled by the gateway node itself. Apart from that, for certain operations, once the authentication has taken place and the meta-transaction has been relayed to the blockchain, the gateway node handles the generation of a time-bounded token and providing a storage node endpoint for the user to perform file operations (ex - file upload). The dApp client can subsequently connect to that endpoint as long as the token has not expired and perform the operation themselves.
Another key functionality of the gateway node is authentication. Whenever a signed transaction is submitted to the gateway node it is first authenticated to ensure that the signing user has the required set of privileges to perform that operation in the transaction. Apart from that it also verifies that the user performing the operation has not exceeded their user level usage limits (storage and bandwidth) and at the same time that the app has not exceeded its app level usage limits. There are default app level limits & usage level limits which are set up during app creation. However, a developer can change these limits from the developer dashboard.
In the future this will also be decentralized to allow any arbitrary provider to run custom software and join the network as a gateway node.