I am much familiar with Rails but new in the Ethereum. But base on my understanding, if I am going to build a Dapp.

The web stack should not include the back-end system like Rails. But why there's so much project like ethereum.rb, web3.py, etc.

By using this, if an end-user wants to send a request (ex: voting), he must send to the back-end (ex: Rails server), and then call API request to the real Ethereum system by using the above plugin, right?

That just sounds wired for me, is it violating the original decentralized design? I am super confused about this part.


Indeed it is violation of decentralisation. If multiple users are sending transactions to a single server then this makes it a centralised system. Ethereum.rb is a client written in ruby. Just like we have geth written in go. These clients though are written in back-end languages but are meant to serve webpages, they actually make p2p connections, store keys and Blockchain. To create a dapp, you only need front end technologies. Ethereum smart contracts make up the back-end.

The front end sends a request (transaction) to a node which validates it and broadcasts it to the rest of the network. And the rest of the network does the same and also executes the transactions. After 10-15 seconds a new block is added to the chain.

  • "Ethereum.rb is a client written in ruby". Does it mean the client can execute it by themselves? How does that suppose to do? I mean the browser normally can't execute it, right? – Coda Chang Feb 20 '19 at 21:03
  • whats "it"? Smart contracts? then yes. Browser is not an ethereum client, it can only be a wallet. – Kashish Khullar Mar 1 '19 at 3:23

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.