Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I create a local blockchain with Ruby on Rails or Node.js instead of Ethereum+Geth?

The Question:

Does anyone know a stable framework which can be used to create a blockchain application, creating a server/node, creating a miner, a wallet, a blockchain inspector, etc?

Such a framework does not have to be in Node.js nor Ruby on Rails, but those are the two technologies I am most familiar with.

Some Background:

I have to craft an internship project based on blockchain technology.

I have been looking at Ethereum which seems nice. Ethereum's GETH command line interface allows me to create a blockchain and also mine that blockchain.

However, I need to be able to use a web-capable development platform such as Ruby on Rails, Node.js, or similar so I can have interns craft a UI to go along with a local blockchain.

I have looked at Toshi(RoR) and BitCoin.js(Node), but will need something that has better documentation.

Thanks for any and all your suggestions!

like image 330
Grant Herman Avatar asked May 16 '16 13:05

Grant Herman


1 Answers

When I built Etheria, I chose the following:

Development techs:

  • Ubuntu Linux 14.04
  • Eclipse Mars 2 (get from web, not repo) (javascript formatting works well, you can tell eclipse to format .sol files as javascript)
  • Solidity + chriseth's Solidity compiler at https://ethereum.github.io/browser-solidity

And for deployment:

  • Digital Ocean
  • Ubuntu 14.04
  • geth (stable, not development)
  • node + async + express

Notes on choices:

Ubuntu 14.04 for development - As it is the Linux standard, many Ethereum docs assume it which streamlines things. Easy to install geth and keep it upgraded.

Eclipse Mars 2 - Ubuntu's packaged Eclipse is old.

Solidity - Was once (is possibly still) billed as the "official" ethereum language and is easy to learn. chriseth is the man.

Digital Ocean - cheap, easy hosting. My security needs were nil as I didn't need a wallet on the machine. If you plan on keeping wallets on your machine, your risk profile may be different and necessitate other options.

Ubuntu 14.04 for deployment - Easy to install geth and keep it upgraded.

geth - I'm sure pyeth and eth are equally valid. geth is more widely used

node - Seamless interaction with the indispensable and awesome web3.js library which is used to interact with your geth instance (which should be running with local-access-allowed IPC). Async for easy async calls, express for endpoint creation and organization.

My code:

Etheria contract: https://github.com/fivedogit/etheria

Etheria node: https://github.com/fivedogit/etheria_node

like image 178
fivedogit Avatar answered Sep 20 '22 01:09

fivedogit