1

I know this is a weird question but I wanted to see what are the alternatives for quick user adoption of a Dapp.

Currently majority of the market is familiar with fiat currency and forcing the user to setup an ethereum wallet will lead to slow adoption of the Dapp. I totally understand that every transaction needs gas (transaction fees) but is there any other alternative approach?

Setting up ether wallet and the buying ether from an exchange by itself takes significant time.

1

Yes and no. You can't build a properly decentralized Dapp at this point in time without getting users to spend ether. What you can do however is what I call a "walled garden" model. You use smart contracts, ethereum accounts, the whole shebang. However, instead of say having users use metamask and interact with your dapp that way, every time a user signs up you generate an account in your backend that is unique to that user, and fund it with a bit of ether. Any time that particular user wants to make a transaction, or interact with a particular contract, you allow them to request the transaction, but you take care of building, and broadcasting the trasnsaction.This way it allows you to audit your users, see who made what transaction, while also not having them pay gas.

The above is pretty much the only way you can build a Dapp at this point in time that doesn't require users to spend/acquire ether. In the future, I believe it is in the roadmap to allow contracts to pay for gas themselves.

1

If you want to interact with the Ethereum blockchain and make any sort of change to the data stored there, then you have to use Gas (which means you need Ether).

I have seen ideas floated about refunding Gas to users using some clever contract code, but if the thing you're trying to avoid is forcing your new users to have to learn about wallets etc then this won't solve it.

A possible solution to ease them in could be to make the assets in your dapp transferable, and allow a single address to have multiple assets (call them Dapp Accounts) within your dapp.

That way you could have people sign up with a soft signup, which forces them to go through your standard login which is validated on your backend, and the Dapp Account is created by your backend, which has its own wallet.

Then when users became more advanced, you could allow them to transfer ownership of their Dapp Account to their own address. You would presumably also allow advanced users to create an account with their own address from the beginning.

This is my take on one approach, but keep in mind this would be a lot of work for you guys. It would make the contract code much more complex, and it would give you guys a lot more security concerns because you would probably have to have the private keys to an ETH address with a balance stored on your server. You'd then also need to make sure people didn't abuse your system to drain it by wasting gas.

I can't speak to your specific situation, but I think if you want or need to build a dapp, it would make sense to educate your users how to use dapps.

0

I think it would depend on the nature of your Dapp but the transaction fees from just running functions within your smart contract will need to be paid by someone. It's possible for you to cover the transaction fees, but again, it would depend on the nature of the Dapp.

One possible solution is Infura, which at least helps users who already have Ethereum but not running an Ethereum node connect to your Dapp for any purchases.

https://infura.io/

  • How can someone else cover the transaction fee for the user? – Arun Kumar Dec 8 '17 at 3:36
  • They wouldn't be able to. I was saying you (as the contract creator) could possibly cover those fees, but typically any function calling a smart contract would incur transaction fees paid out by the caller of the function. – Kaidao Dec 8 '17 at 23:53
  • Yeah but if the contract owner runs the transaction on behalf of the user, it kills the purpose of the blockchain and I will not be able to track the transactions of the logged in user. – Arun Kumar Dec 9 '17 at 3:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.