Hyperledger Fabric from scratch
#1
Hello everyone,

How would one build an Hyperledger Fabric network from scratch?

I've followed a lot of tutorials but they all seem to be somewhat limiting or made in such a way that you set up a network without really knowing what you're actually doing. 

I feel like I know lot's of parts but can't really seem to grasp the whole without the use of premade tutorials.

Let's say I make my own yaml configuration files for a simple 2 org network. 
Then I would like to generate the cryptographic material but without using the cryptogen tools.
Also I would like to make an api with node.js that connects to the HF network.

Any advice would be appreciated.

Also, maybe this is a crazy idea but what if we made a simple network/application together here with some members? Learn from each other, maybe create a github repository. 

That would also get the forum going I think.
Regards,

Block McChainy
Reply
#2
Quote:Also, maybe this is a crazy idea but what if we made a simple network/application together here with some members? Learn from each other, maybe create a github repository.
I like this idea. I will start setting up a repo tomorrow. What would you like to see the blockchain be made for? An example of a real use case, tutorials, etc?
Reply
#3
Some possible user cases:

TO-DO list:
You add tasks on your TO-DO list and when you finish them you press the "done" button and they'll disappear. But they are stored on the blockchain with the time you added the task till the time you finished it.
After a while you can query all the finished tasks you did and see also the time it took. Maybe visualize it to see some cool graphs and see your progress. Add some different categories like: Home, school, work etc.

WhosTimeIsIt:
Who's time is it to do "the thing". You make a channel and add your family. Add a bunch of house tasks (like cleaning). And then the app roulettes between the different members so that all tasks are divided equally. The nice thing is you can ask a member to do a task for them (because of reasons) but then that member has an IOU on the other member which can be used later. On the blockchain you can query a table or graph who's time it is to do a particular task. So no arguing about:
member1: "No it's your turn to do the disses!"  
member2: "Hm, lemme check WhosTimeIsit™.. Well well well.. would you look at that.. It's your turn "
member1: "Can't argue with that"
It can also be used for seeing who's time it is to buy beer or some other version.

Sport score betting app:
you make a channel with some friends and try to predict the score of a game you're going to watch live. You can bet for money or who's going to pay for the beer or something like that (assets). Everything is recorded in the chain so it's nice to see later who's got the best predictive ability.
With the help of a sport result API you then instantly see in the app who has won.

IOT temperature meter
A live temperature meter connected with IOT to a Hyperledger fabric blockchain.
Every 10 minutes a new temperature reading is added to the chain where people can query tampered proof local temperature somewhere. 
Not really useful more for learning purposes and to combine IOT with Hyperledger.


These are maybe not the greatest use cases but I think they could be great way to learn how to make an Hyperledger Fabric application together and build some skills.
Regards,

Block McChainy
Reply
#4
I've created the Github page, here https://github.com/ronaldlong46/ChaincodeDevs

I really like the to-do list blockchain for the first forum project. Would be a simple, single-organization blockchain. We can assign tasks or just start working on it. I'm going to be creating a model file and getting this started.

For the front end, do you have any experience with react? If not, we can build it just a simple front end, but an SPA would be awesome.
Reply
#5
Alright great, let's try to make something neat.

I'm not really that well known with React, but i can learn and try to make something simple.
It's not like we have a deadline.
Regards,

Block McChainy
Reply
#6
No worries, we can focus on the front end later. I have a few more tutorials I'm going to write today then I'll jump in and get this blockchain to do list started.
Reply
#7
Great,

If you're going to write a model file what would be the most logical step for me to do you think?
Regards,

Block McChainy
Reply
#8
We could both work on the files. Here's something interesting I found, https://github.com/IBM/todo-list-fabricV1

It's a to-do list built for fabric before composer came out. It's essentially built from scratch. Kinda cool.
Reply
#9
If you're looking to create a Hyperledger Fabric network in a hurry, I also agree that Hyperledger Composer is a good place to start

Personally, I'm taking the long road, which is to ramp up on all the various components in order to have a solid foundation:
- Cloud: AWS / Azure / DigitalOcean
- Containers: Docker -> Docker Compose -> Docker Swarm -> Kubernetes
- Programming: Go/JavaScript -> Node.js -> Angular/React/Vue 

Good luck and happy coding!  Cool
Reply
#10
(05-11-2018, 01:40 PM)atcvince Wrote: If you're looking to create a Hyperledger Fabric network in a hurry, I also agree that Hyperledger Composer is a good place to start

Personally, I'm taking the long road, which is to ramp up on all the various components in order to have a solid foundation:
- Cloud: AWS / Azure / DigitalOcean
- Containers: Docker -> Docker Compose -> Docker Swarm -> Kubernetes
- Programming: Go/JavaScript -> Node.js -> Angular/React/Vue 

Good luck and happy coding!  Cool

That's great, maybe you can start a project here with some other people or share some information.
Also, what are your thoughts about Composer vs pure Fabric? What do you think are the biggest limits for Composer?

(05-10-2018, 05:41 PM)BlockMcChainy Wrote: Great,

If you're going to write a model file what would be the most logical step for me to do you think?

Hey there,

I've added a simple model file to the repository, maybe you can have a look and tell me what you think or make some edits.
Regards,

Block McChainy
Reply