Tools for Hyperledger Fabric Development and deployment - hyperledger-fabric

Hey could someone help me with this doubt?
I am a very beginner and not the typical profile of a developer. For a project I need to define the environment around blockchain. I need to define every tool you need and everything to install to develop and deploy software using Hyperledger Fabric.
As far as I know I will need to install the prereqs:
Docker Engine
Docker Compose
Node
npm
git
Python
VS Code
All of them are considered developing tools, isn't it?
Other tools I need will be:
Clients (CLI tools)
Apache server?
Playground. (What is that?)
IDE
Hyperledger Fabric (Is it similar to the EVM?)
Loopback and Swagger??
APIs
Anything else to add? Really thankful for helping me

you wil not need a server initially during developement (can be done locally). An IDE (VSCode is one of them !) will not be needed if you are already getting VSCode. If youre a beginner - Hyperledger Composer (runs over a hyperledger fabric instance) would probably be better to start with. Playground as you mentioned is a user interface of sorts that helps in defining,deploying and testing blockchain networks (can be visited online at https://composer-playground.mybluemix.net/). To develop networks locally you could download them and develop locally. There are many links available and if you need more I would be happy to link them ! (This series is also very helpful (IBMs ZeroToBlockchain playlist - https://www.youtube.com/watch?v=CgGX-BTYOwA&list=PLnJzIOiv6cVTjaJRtJ2srarhs-m4V3zs3)

Hyperledger Explorer is also a very useful tool for viewing your network and the data stored in the ledger.

You ought to check out Chaincoder IDE. It is a project I am working on. Helping people to get started with Hyperledger Fabric and uses almost standard CLI commands and configuration files of Fabric to get a blockchain system running either locally with docker or remote with different hosts. It is free and easy to use.
http://www.chaincoder.org/

Related

is it good to develop a hyperledger fabric chaincode using go sdk?

I need to develop one project on hyperledger-fabric using a GO SDK. But as per the latest release GO SDKs that have not yet been officially released.
I had gone through with this post. But still, is it better to use a Go-SDK for any development of the product? So anyone knows it's products or web projects which are in used?
From the chat of the go-sdk-fabric:
fabric-sdk-go is stable. The reason that still in beta just for missing some documentation
The package works but it is kind of a mess, the only documentation are the chainhero example, the test files and the go-doc. There are a lot of package and some of them seems to do the same but they're not always compatible with each other.

hyperledger composer, where are business network stored

I has been deployed (this awesome deprecated tool named) hyperledger composer. After a couple of days working, click on a network card emit an error and I'm unable to login. After give up, reinstall everything from zero, does not remove this cards. Already deleted ~/compose* files, also teardown fabric and docker containers.
So my problem have two solutions:
One, find where are composer model and scripts stored to recover.
Two, fix and/or remove these files.**
Question: Where are CTO and js script files stored?
I will suggest you not to you use Composer as it is has been deprecated. Please read here. https://github.com/hyperledger/composer/blob/master/README.md

Hyperledger Fabric: UI for first-network

I am quite new to Hyperledger Blockchain and have started with exploring 2 sample codes.
(1) https://medium.freecodecamp.org/ultimate-end-to-end-tutorial-to-create-an-application-on-blockchain-using-hyperledger-3a83a80cbc71 - where creating an application using hyperledger was taught - through creating .bna, .card files, deploying them etc. Also saw that an Angular extension is supported, giving the UI.
(2) Classic first-network http://hyperledger-fabric.readthedocs.io/en/release-1.1/build_network.html - where chaincode was deployed etc.
My question is, how can I get a UI for (2),like I did in (1)? It was quite convenient.
In the First tutorial, you used Hyperledger Composer to create a BNA which is a friendly way to create chaincode, and there is an Angular Application generator included.
In the second you directly installed some chaincode on to Fabric without a UI (and without using Composer. In this case you would have to write the UI yourself. In the first example you can build your own app by extending the generated app.
Composer is a tool that makes it easy and fast to create chaincode and applications to run on Fabric. If you don't use Composer you do have some more flexibility, but you have to do more work yourself.

What are the way programmers are using to deploy its node.js app in ubuntu?

What is the recommended way to deploy Node.js on Ubuntu 12.04 in a production environment?
I saw this ppa but I don't know if is well maintained or if it will and if is a source in witch one can trust.
I know that is easy install Node.js manually, but seem to me that install it using the Ubuntu packages manager will allow me safe some management time and will be more integrated with the way the underlying server is being currently management. So, what are your recommendations? Thanks in advanced.
we are using Chef with the existing node.js cookbook
Well, after read lot of posts and pages that talk about Node.js deployment-installation, I must said that Chris PPA is mentioned in tons of them as an official source. Beside one can see her PPA linked at the Github Node.js wiki.
So, seem to me that is trust enough to be used in production, what made it the choice if you want keep your system updated using standards Ubuntu tools.

Some questions on node.js development environment and deployment strategy

I'm new to node and reading some books about it. Now I think it's time to do some dev stuff with it. I'm planning to implement a little project which I want to deploy in the cloud (AWS, Heroku, ...).
What I still haven't figured out are following points (I have a MacBook Pro with OS X 10.7):
which dev environment should I use? I thought about Aptana Studio (no node support as far as I've seen) and transferring the files via ssh to a local VirtualBox CentOS 6.3 machine which has node.js and some modules installed on it
is there any good deployment strategy for hosting my app in the cloud? For example, if I'm developing with Aptana Studio, I don't think there is a plugin which let's you deploy your code on some virtual server in the AWS or Heroku cloud, isn't it?
Thanks in advance!
I don't use an IDE per-se. I get by with just Sublime Text for my editor.
The deployment process will depend on where you host your site. I am not sure about Heroku, but with Nodejitsu it's just as simple as running "jitsu deploy" from the terminal and that's it.
If you host the site on your own on a Linux box (i.e. without Heroku or Nodejitsu) you need to account for how to make sure the site restarts after the machine reboots, or after a crash. I wrote about this on my blog. It's doable but somewhat of a chore: http://hectorcorrea.com/blog/running-a-node-js-web-site-in-production-a-beginners-guide
You can and should develop and run your application locally on your mac. Dealing with 2 machines, 2 OSes, and constant file transfers is a nuisance in development and offers no benefit. It also cripples nice things like fsevents for watching files and good text editor integration.
If you are into the whole IDE thing, perhaps consider https://c9.io/
There are several cloud Platform as a Service companies you could consider
http://nodejitsu.com/
https://devcenter.heroku.com/articles/nodejs
https://www.dotcloud.com/
http://www.cloudfoundry.com/
http://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/
Here's some blog posts reviewing some of these PaaS offerings
http://mrdanadams.com/2012/node-js-paas-hosting-services/
http://ocdevel.com/blog/nodejs-paas-comparison
In terms of deployment, most of these PaaS companies are going to integrate with npm and github, so deployment is going to take no more than a handful of commands at most.
Thanks for your help!
After doing a lot of research on the topics you've posted, I just wanted to let you know what my setup for developing node applications now looks like:
Sublime Text 2 Text-Editor with Package Manager and following plugins: git, nodejs, SublimeLinter (BTW: are there some other "essential" plugins you can not live without?)
iTerm 2 Terminal for all console work (execute node-inspector, ssh to server etc.)
node.js, npm and additional modules which I want to use for my app
Running everything local on my MacBook Pro. As far as I could test this solution, it seems that it runs very smoothly but most notably: FAST :-)
Regarding node deployment, I take Heroku and nodejitsu into account due to low costs, few administration efforts and features like auto-scaling etc. The only drawback of Heroku is the missing websocket support, which I intend to use natively in my app.
Best regards!

Resources