Hyperledger framework for Mobile Application? - hyperledger-fabric

Which framework is better to develop blockchain application for mobile.
Fabric or Iroha, what are the reason behind it ?
thanks in advance.

In my opinion Iroha is more suitable for building blockchain applications for mobile because Iroha is written in c++.
Iroha is a distributed ledger project, that aims to provide a development environment where C++ and mobile application developers could contribute to Hyperledger. The project seeks to complement Fabric, Sawtooth, and other potential projects, being a framework with pre-defined set of commands, permissions and queries that can be used with various client libraries to easily create applications for desktop and mobile platforms.
Key Characteristics
Permissioned network; written in C++; Client libraries in Java, Python, JS, Swift; BFT consensus algorithm YetAnotherConsensus (YAC); ready-to-use set of commands and queries, Multi-signature transactions.
It takes a minute to run iroha network. you can start your network by just copy and pasting this docker command in your terminal.
docker network create iroha-network
Whereas you can also use hyperledger fabric to build applications but the documentation is still not clear. you will find broken links and development on fabric will take more time.

Hyperledger Sawtooth, another blockchain platform, has a Swift SDK (for iOS apps) and a Java SDK (for Android apps).

Related

Hyperledger Cello vs Minifabric

I am a newcomer to the Hyperledger world. While exploring the options to build the blockchain network, I came to the two options.
Hyperledger Cello
Minifabric (https://github.com/hyperledger-labs/minifabric/)
Both the projects are under the hyperledger-labs repo.
I like to understand the purposes of these 2 projects, I looking for an option that can help me to focus on the application layer/Chaincode rather than messing into the multihost network management.
by the way at last I need to deploy the project on production. Possibly I will be using on-premises machines and cloud VMs both. Also, I am looking for options to lay down the production network as well.
In addition to the excellent response by Kekomal, you might also want to consider looking at the free IBM Blockchain Platform extension for VSCode (can be found in the VSCode extensions marketplace). This is designed to help you focus on the application/chaincode layer and provides an inbuilt fabric you can use for testing
For your purpose, use Minifabric. I find it the simpler, faster and lighter way to start your development network to test your chaincodes.
Cello is more oriented to build and maintain your pre-production or production network as a service.
By the way, there is a third option that is building your network from Fabric docker images and Fabric tools, which is the best method to learn how your Fabric network really works. But, for your purpose, I would use Minifabric.

Looking for a End-to-End tutorial to develop a NodeJs Blockchain Appliation using Hyperledger Fabric and Composer REST SERVER

Since more than one month, I am working on creating a multi Organization Hyperledger Fabric Application.
I started with Composer, used playground to test my business logic. Then deployed it to the Locally running Fabric Network and used the COMPOSER REST Server to interact with the Blockchain.
The problem started when I wanted to use my Node Application with this network. I can't get my head around participants, network cards, importing these cards, binding these cards, having a wallet for these cards, Activating these cards, enrolling them and doing all this from the NODE Application.
I want One tutorial which will help me connecting a NODE application to a Blockchain network with a Business card and explain everything in layman terms.
Bottom Line: I want to develop a node application, which will use the REST server-generated for the locally running Hyperledger Fabric using Composer. Any suggestion on End-to-End tutorials or step by step method to understand these concepts will be really appreciated.
what you need can be found here:
https://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
it covers everything you need to create a fully fledged application using the node SDK. Make sure you follow all the resources including the Setting up your first network tutorial. The link is on that page.
The problem with composer is that it is not developed anymore by IBM:
https://lists.hyperledger.org/g/composer/message/125
as such I would not recommend you spend any more time on it.

Hyperledger Fabric Chaincode Development Language - NodeJS, Java, or Go?

With consideration of existing functionality, developer productivity (assuming minimal experience in each language), support within the Fabric community, and roadmap for enhancements, is there any chaincode development language that should be preferred as the short-term and, perhaps separately, as the long-term choice?
Prior question Node.js or Go for Hyperledger Fabric's chaincode development? did not address Java as an option, and does not account for recent Fabric 1.4 platform release.
As of Hyperledger Fabric v1.4, there is base functional parity between Go, Node.js, and Java chaincode.
The previous answer in Node.js or Go for Hyperledger Fabric's chaincode development? is still fundamentally true. Base features typically get delivered in Go chaincode first. That being said, a new programming model has been introduced to Node.js chaincode in v1.4 that is explained in the new Developing Applications documentation. If the new programming model is of interest to you, Node.js chaincode would be a good choice.
At the end of the day, each of the languages have similar function, similar performance, as well as good support and community adoption.

Making a development and deployment environment for blockchain applications. Tools needed

I would like to learn a little bit from Blockchain and I need to make an university task based on this question.
The main idea is to conceptually learn about what should an environment need to develop and deploy the blockchain solutions.
My problem is that I am not a developer and I am an industrial engineer. This is my first experience with something like this and I have no idea about this stuff. I read a lot about this on github sites about some of these platforms, mostly Hyperledger Fabric and Ethereum. I am very confused about what I have read is the need of an application generator, a code editor, containers such as dockers, something about APIs and REST servers, CLI tools, Frameworks, clients, libraries as node.js or npm...
I know how Blockchain works but I do not have an idea of how to create it and start with it.
So I need a list of the vital tools because I did not find anything well explained for a beginner.
Thank you.
Consider taking the Hyperledger "Introduction to Blockchain Development" course. It's free, unless you want a certificate.
https://www.edx.org/course/blockchain-for-business-an-introduction-to-hyperledger-technologies
Hyperledger has multiple blockchain platforms, such as Sawtooth or Fabric. They are all permissioned blockchains and do not use cryptocurrency.
If you want to use a public blockchain that uses cryptocurrency, consider Ethereum.

Hyperledger Composer vs Hyperledger Nodejs Api

I am new to hyperledger and bit confused about hyperledger composer & nodejs api.
I saw using composer we can create assets, transactions, participants and chaincode and in last we have to archive it this all into .bna file and finally we deploy this chaincode into network using admin card
But at other end using NodeJs API we can also write chaincode by overiding init & invoke methods.
How can we relate these all.
The best way to think about this is the following:
1) Hyperledger Fabric v1.1 supports writing chaincode in two languages: Golang and JavaScript via Node.js
If you want to do all of the heavy lifting yourself, you can write straight chaincode.
2) Hyperledger Composer provides a higher-level model-driven language for developing smart contracts. It currently only allows deployment of these artifacts to Hyperledger Fabric. It also happens to support writing functions in JavaScript as well.
So if you want to start from a higher-level model-driven approach, Hyperledger Composer is the way to go. If you want to write all of the plumbing yourself or use very low-level chaincode features, then using chaincode itself is the way to go.
Moving forward, we are looking at a better way to move between the two and not force a decision / direction up front.
There is another option, we develop a framework called Convector to be in the middle of Composer (high abstraction, low control) and raw code (low abstraction, high control, therefore high risk). We open sourced it a few days ago. At WorldSibu we don't like loosing so much control over our code like with Composer but as Gari Singh was saying, doing all the heavy lifting for each project is crazy. It is like a Mongoose for Hyperledger Fabric. It may help to check it out.
It is also worth noting that, according to IBM, Composer is no longer recommended as a production solution, but only for prototyping. In HLF 1.3, chaincode can now be written in Go, Javascript and Java.

Resources