At some point I remember reading something about “Sidechain ETH” / S-chain ETH, which will be required for users to interact with a given sidechain dApp / send transactions.
I think I remember hearing that you could get people on your site to perform some sort of PoW / Captcha / authentication / etc, and in exchange they can receive the S-chain ETH (however little it may be) needed to use a dApp. If so, this could be a good mechanism to prevent spam on a given sidechain.
#1: Is this notion of authentication / S-Chain ETH correct, and if so, are there are any examples of an implementation / description of what that code might look like? #2: Will this S-Chain ETH show up as normal ETH in wallets like Torus, or will you be able to have normal ETH and S-Chain ETH without them confusing anyone?
There is a Proof of Work (PoW) method for authenticating a user to send transactions to your SKALE Chain without having SKALE Chain ETH. This will allow your end users to send transactions anonymously.
#1: Is this notion of authentication / S-Chain ETH correct, and if so, are there are any examples of an implementation / description of what that code might look like?
When a user sends a transaction you can send a “magic number” within the gasPrice field of the transaction. SKALE will take this “magic number” and will calculate a hash that is created using the sha3 hashes of your address, transaction nonce, and this “magic number.”
Then the user will be given MAX_INT / hash * GAS_PER_HASH of gas where GAS_PER_HASH is a parameter in the config file of your SKALE Chain that reflects complexity. This will be enough gas for the user to perform a transaction without first needing to transfer ETH to them.
We are working on the documentation for this feature, but in the meantime, an example of the implementation can be found in the SKALE Labs repo below:
#2: Will this S-Chain ETH show up as normal ETH in wallets like Torus, or will you be able to have normal ETH and S-Chain ETH without them confusing anyone?
The SKALE Chain ETH will show as normal ETh in wallets like Torus. The SKALE Chain ETH, and the ETH transferred via the Interchain Messaging Agent (IMA) feature is accessed separately, and you will not have to worry about confusing the two. ETH that is owned by the user and transferred to SKALE via IMA, will be wrapped in an ERC20 wrapper, and the balance of that ETH vs SKALE Chain specific ETH will be completely separate. The will not appear group together in the same location.