9

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!

Shaun Wilson
  • 8,727
  • 3
  • 50
  • 48
Grant Herman
  • 923
  • 2
  • 13
  • 29
  • https://github.com/ethereum/ethereumjs-lib ? or this https://github.com/ethereum/node-ethereum maybe ? –  May 16 '16 at 13:50
  • Check out [Ethereum and Rails Tutorials](http://ethereum.stackexchange.com/q/2812/87) or [How can I connect to geth by IPC in rails?](http://ethereum.stackexchange.com/q/1552/87); also meteor-js is very popular to integrate blockchain projects, see 108 questions tagged with [web3js](http://ethereum.stackexchange.com/questions/tagged/web3js) on Ethereum Stack Exchange. – q9f May 17 '16 at 08:11

1 Answers1

5

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

fivedogit
  • 8,374
  • 7
  • 34
  • 43