The current problems that exist regarding the initial attainment of S-Fuel is twofold: one for the developer and one for the users.
- Existing solutions include Proof-of-Work (PoW) and Custom Faucets
- Proof-of-Work (PoW)
- The Proof of Work solution provided by SKALE is strong, however, comes with its own difficulties whether it be the implementation into the build of a platform, or with the time complexity required.
- Custom Faucet
- Implementing a Faucet itself is not that difficult, however, faucets generally can only be called by an external signer which does not necessarily solve this problem directly
- Regardless of PoW or Faucet usage, users generally have to copy and paste an address or click on a button in order to attain S-Fuel which is counter intuitive to many platforms that are trying to abstract the blockchain parts away from users. Additionally, it may become painful for users if they are utilizing more than one SKALE dApp and have to consistently claim S-Fuel on multiple networks.
By connecting the three pieces together, this would result in developers just adding the script to their initial onboarding and then immediately upon using the dApp the user can interact with the application.
The only alternative currently being is a faucet that doesn't require signing. To my current knowledge, a read-only (call) function cannot be used to make a function that can utilize the payable/transfer functionality in Ethereum. However, with SKALE V2 it may be possible to utilize an Oracle to run this external call.