I am studying the Hyperledger Fabric Blockchain and I would like to understand if and how it is possible to explore and analyze the data inside a Hyperledger Fabric Blockchain network.
Is there a non-interactive way to analyze all the transactions of the blockchain locally? or even demanding the analysis to someone else? It would be great, as Ethereum allows us to do, to explore the ledger and its transactions to then focus on some specific of them.
Thanks in advance guys!
depends on your use case. In Hyperledger Composer, you have a Historian registry (all the transactions recorded for a business network). You can have multiple business networks to query (each BN being a view into the ledger because you've modeled the business networks and smart contract logic between those parties etc). You can use queries, REST APIs and filters to do your analysis. You could also have a 'regulator' type participant, who sees 'everything' that went on in the business network on the ledger. In Hyperledger Fabric, you can inquire of the Fabric blockchain direct, using a combination of routes: you have the Node js REST APIs https://github.com/hyperledger/fabric-sdk-rest (these are a work in progress as it states) or you can use the Fabric SDK for example -> https://fabric-sdk-node.github.io/
Related
Our company is planning to develop a product for trace-ability of a supply chain. We are looking at considering one of the block chain frameworks Hyper-ledger or R3 Corda. Could some body tell your views on what to select and why.
Thanks,
Madhu
I propose to use Emercoin NVS to maintain trusted history of your supply chain. This is "developer-friendly" public blockchain, and it has open JSON HTTP API for:
Upload your data into blockchain
Add ("update") your data
Retrieve update history
This blockchain is used in Deloitte DocSensus notarization product.
I can help you to adopt these technologies. Also, will give you testnet EMCs for free, if need.
I would like to realise some secure multi party algorithms with a blockchain. Simple stuff like: Bob is sending a value to alice, alice is adding 5 and at the end everyone will get the result...
I found alot of Blockchain frameworks but I think, that Hyperledger will be the best for my needs.
Could I use Hyperledger Composer or would Fabric be the besser choice? Composer is building up on Fabric? But Composer seems easyer to use? Can I visualise my blockchain anyhow?
see this thread -> Chaincode using GO or Composer and this one -> Does Composer needs an already built Fabric network? for more information.
Hyperledger Fabric (the blockchain, which manages the endorsement/consensus of smart contracts) is designed to cater for your scenario and what gets written to the blockchain ledger, who needs to validate it etc by policy. This intro -> https://hyperledger.github.io/composer/latest/introduction/introduction.html should help you and this tutorial will compare Fabric and Composer as the means to develop your blockchain applications / smart contracts, especially the integration aspects that are needed by organisations -> https://blog.selman.org/2017/07/08/getting-started-with-blockchain-development/
I`m really new at hyperledger-fabric and I want to build my own application based on this technology and framework also, but have some spaces in my knowledge(
What information stored in block chain of hyperledger fabric?
Since you are new to blockchain and the way it works, I recommend to understand the basic concept of that technology first. The Hyperledger Fabric Documentation provides a first overview of how it works:
http://hyperledger-fabric.readthedocs.io/en/release/blockchain.html
When you got the basic understanding of blockchains, you can setup your own development environment:
http://hyperledger-fabric.readthedocs.io/en/release/getting_started.html
With that, you can build your first network...
http://hyperledger-fabric.readthedocs.io/en/release/build_network.html
... and your first application
http://hyperledger-fabric.readthedocs.io/en/release/write_first_app.html
Blockchain is a technology that works like a ledger. In fact, it works like a distributed ledger, where every participant in the Blockchain holds a copy.'
What is ledger in Hyperledger fabric?
It is like a book that holds the record of transactions. It consists of two parts:- world state and transactions logs.
In world state, it holds the current state/value of set of ledger states.
In transaction logs, it store the transactions that occurred to reach the current state.
These transactions in transaction logs are collected inside a block that are appended to the Blockchain.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Both Hyperledger Fabric and Hyperledger Sawtooth are platforms for building distributed ledger applications, supporting pluggable consensus mechanisms and smart contracts (chaincodes).
What are the main differences between then? When to choose one over the other to implement a blockchain solution?
Here are the important differences to consider when choosing between Hyperledger Fabric and Hyperledger Sawtooth:
Permissioned/Permissionless
Hyperledger Sawtooth supports both permissioned and permissionless blockchain networks. Sawtooth has a flexible approach using roles and permissions.
Hyperledger Fabric supports only permissioned blockchain networks. Fabric has a prescriptive/well-defined approach through pluggable membership service providers (MSPs) that enables a tighter governance framework.
Consensus algorithms
Sawtooth uses Proof of Elapsed Time (PoET) based on Intel's Software Guard Extensions (SGX) to elect leaders to cut blocks based on random wait times, a more energy efficient approach than the traditional Proof of Work, which enables scaling to very large networks.
Fabric supports pluggable consensus algorithms to order transactions into blocks, with Kafka support available since version v1.0, and Raft and BFT implementations in development.
Smart contract language
Hyperledger Sawtooth supports Go, JavaScript, Java, Python, Rust, and Ethereum Solidity based contracts.
Hyperledger Fabric supports Go, JavaScript, Java, and Ethereum Solidity based contracts.
Privacy
In Hyperledger Sawtooth, peers have access to all transaction data.
In Hyperledger Fabric, there are multiple levels of privacy. You can define ‘channels' for complete data isolation between a set of participants, where each channel is essentially its own private blockchain. Or you can use 'private data collections’ when participants need to transact on the same blockchain, but keep data private to a subset of transactors (and potentially regulators/auditors). Private data is shared peer-to-peer, with hashes stored on the blockchain as evidence so that all peers can validate transactions. Additionally, you can utilize Identity Mixer to preserve anonymity of transaction submitters.
Transaction flow
Hyperledger Sawtooth supports the traditional blockchain flow of Order-Execute-Commit.
Hyperledger Fabric supports a unique endorsement model where transactions are initially executed on a set of peers and follows a Execute-Order-Commit model. The set of required endorsers can be defined at the contract level or at the data level. This approach improves scalability, prevents nondeterminism in contract code, and enables transactions to be executed in private between a set of transactors as mentioned above.
Miscellaneous
Hyperledger Sawtooth supports transaction batches as a unit of work i.e. either all the transactions in a batch are committed or none of them is committed.
Hyperledger Sawtooth includes a (generic) REST API server
Hyperledger Fabric supports queries from smart contract chaincode, either using key range queries or JSON queries (when using CouchDB as a state database)
Hyperledger Sawtooth supports both permissioned and permissionless blockchain implementation whereas Hyperledger Fabric support only permissioned blockchain implementation.
To your second question:
When to choose one over the other to implement a blockchain solution?
The defining difference for business, in my opinion, is that Hyperledger Fabric allows you to keep a subset of data private to a subset of participants.
I believe every real life business network will eventually require this.
In my view, Hyperledger Sawtooth is more related asset management and tracking, basically related to provenance and authenticity of an asset.
As far as Hyperledger Fabric is considered, it is pure DLT with smart contract capabilities for businesses.
I just got chance to work on Ethereum, block-chain based platform. But I don't have a clear idea in which scenarios this is used, any real life use of this.Could anybody help me understand blockchain based platform and its real life uses?
Welcome to blockchain world.Don't get demotivated, Blockchain area is relatively new & hard to find good tutorials.I also started learning blockchain related technologies a month ago & I would like to share some ideas about Blockchain & Ethereum.Since your question is not directly related to Nodejs & Javascript,I would like to suggest you modify the question first.
We all start as noobs, but we can choose to end as noobs or as professionals.
Original cartoon can be found at http://ericsammons.com/what-is-the-blockchain/
Blockchain, a secure distributed ledger (data structure or database) that maintains a continuously growing list of ordered records, called “blocks.”Please watch this youtube video - Blockchain 101 - A Visual Demo to understand the basics of Blockchain.
That is a very basic visual introduction to the concepts behind a blockchain. He introduces the idea of an immutable ledger using an interactive web demo. If you are interested in playing with this on your own, it is available online at:https://github.com/anders94/blockchain-demo
Blockchain was originally developed as the technology behind cryptocurrencies like Bitcoin. A vast, globally distributed ledger running on millions of devices, it is capable of recording anything of value. Money, equities, bonds, titles, deeds, contracts, and virtually all other kinds of assets can be moved and stored securely, privately, and from peer to peer, because trust is established not by powerful intermediaries like banks and governments, but by network consensus, cryptography, collaboration, and clever code.You can learn more about Blockchain use cases from this TED talk.
Ethereum, a type of blockchain that can be used to develop decentralized applications & several banks have already adapted Ethereum to develop and test blockchain trading applications. The Ethereum blockchain was developed by a Canadian named Vitalik Buterin and this blockchain has some extraordinary capabilities. One of them is that you can build smart contracts. It's kind of what it sounds like. It's a contract that self-executes, and the contract handles the enforcement, the management, performance and payment — the contract kind of has a bank account, too, in a sense — of agreements between people.Also, JPMorgan Chase & Co, Microsoft, Intel, and more than two dozen other companies have teamed up to develop standards and technology to make it easier for enterprises to Ethereum.
Since you are using NodeJs, use Truffle to connect your Ethereum blockchain network.Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle, you get:
Built-in smart contract compilation, linking, deployment and binary management.
Automated contract testing with Mocha and Chai.
Configurable build pipeline with support for custom build processes.
Scriptable deployment & migrations framework.
Network management for deploying to many public & private networks.
Interactive console for direct contract communication.
Instant rebuilding of assets during development.
External script runner that executes scripts within a Truffle environment.
You can find a great sample project here:https://github.com/tomw1808/truffle_eth_class1
You can find really good courses on Building A Decentralised Blockchain Application in Udemy.Please message me,if you need any further information.
One example of using blockchain is Bitcoin.
The bitcoin network is a peer-to-peer payment network that operates on a cryptographic protocol. Users send and receive bitcoins, the units of currency, by broadcasting digitally signed messages to the network using bitcoin wallet software. Transactions are recorded into a distributed, replicated public database known as the blockchain, with consensus achieved by a proof-of-work system called "mining". The protocol was designed in 2008 and released in 2009 as open source software by "Satoshi Nakamoto", the name or pseudonym of the original developer/developer group. [emphasis added]
See:
https://en.wikipedia.org/wiki/Blockchain
https://en.wikipedia.org/wiki/Bitcoin_network
Node modules that can help you with developing your app:
https://www.npmjs.com/package/blockchain
https://www.npmjs.com/package/bcoin