Proof of Work Distribution
Proof of Work distribution is the recommended way for applications to distribute sFUEL to their users. This distribution method takes advantage of the PoW feature to allow users to onboard in a decentralized and frictionless manner.
The Proof of Work distribution system relies on an on-chain faucet. If this faucet runs out of sFUEL, users will not be able to attain sFUEL on your chain.
The Smart Contract
The smart contract portion of this distribution method can be very simple or as complex as needed to faciliate distribution.
The only requirement is that a function must pay out to an address provided as input. Additionally, the more complex logic in the payout function, the longer the proof of work will have to run on the client to generate a big enough number.
Additionally, it is recommended that the contract has limits in place so that one address cannot keep filling itself up
Distribution on a Dedicated SKALE Chain
Distributing sFUEL from an onchain contract on your own dedicated chain requires the deployment of a distribution contract.
An example of this contract can be found here in the docs.
You can also use the community build sFUEL Distribution Contract which is being used on Calypso, CryptoBlades, Chaos Testnet, Human Protocol Chain, Tank Chain, and more!
The community contract above is based on the concepts from the SKALE provided example. |
The Europa Liqudity Hub also uses a variation of this contract. |
Distribution on a Hub Chain
Deploying onto a SKALE Hub? Utilize one of the pre-existing sFUEL Distribution contracts. Don’t see your chain? Head over to the SKALE Discord and request it!
Available On-Chain Faucets
Chain | Mainnet Address | Testnet Address | Function Signature |
---|---|---|---|
Europa |
0x2B267A3e49b351DEdac892400a530ABb2f899d23 |
0x436389289aEAFefD1d7471b7FbEc67539Bde3E34 |
0x6a627842 |
Calypso |
0x02891b34B7911A9C68e82C193cd7A6fBf0c3b30A |
0x84b7265Bc964BB69b4275d4Dac4df0FD87556960 |
0x0c11dedd |
Chaos Testnet |
0x1B2e7E6E66a6c202cdC0C31DF996b530af22CBee |
0x0c11dedd |
|
Nebula |
0x5a6869ef5b81DCb58EBF51b8F893c31f5AFE3Fa8 |
0xfd56A3456fbAB0fc013213edCc830B9d32403C8B |
0x0c11dedd |
Titan |
0xa5C297dF8f8386E4b940D61EF9A8f2bB367a6fAB |
0xdb6c305e94097033904a76587e4BBCa41B14B2B2 |
0x0c11dedd |