With Quorum Blockchain Service (QBS), you can create consortium blockchain networks to enable business scenarios such as asset tracking, digital token, loyalty and reward, financial supply chain, and provenance. The following sections introduce the development of the Quorum Blockchain Service to implement enterprise blockchain solutions.
Connecting to Quorum Blockchain Service
You can use different clients as a gateway to QBS for blockchain development. The following are popular clients that you can use to connect.
Truffle Extension for Visual Studio Code
You can compile, create, and deploy smart contracts in QBS using the Truffle Extension for Visual Studio Code.
To develop sophisticated enterprise blockchain solutions, a development framework is needed to connect to different blockchain networks and manage the life cycles of smart contracts. Most projects interact with at least two blockchain nodes. Developers use a local blockchain during development. When the app is ready for testing or release, the developer deploys it to a blockchain network. For example, the main public network of Ethereum or QBS.
The Truffle Extension for Visual Studio Code uses the Truffle Suite, which is a popular blockchain development framework for writing, building, deploying, and testing decentralized applications on Ethereum. You can also think of Truffle as a framework that tries to seamlessly integrate smart contract development and traditional web development.
MetaMask
MetaMask is a browser-based wallet (remote client), RPC client, and basic contract explorer. Unlike other browser wallets, MetaMask injects a web3 instance into the browser’s JavaScript context, acting as an RPC client that connects to a variety of Ethereum blockchains (mainnet, Ropsten testnet, Kovan, local RPC node, etc.). You can set up a custom RPC to connect to QBS and start blockchain development using Remix.
Geth
Geth is the command line interface for running a full Ethereum node implemented in Go. You do not need to run the full node, but you can start the Geth JavaScript interactive console which provides a JavaScript runtime environment that exposes a JavaScript API to interact with QBS.
Ethereum GoQuorum Private Transactions
GoQuorum is an Ethereum-based distributed ledger protocol with contract privacy and new consensus mechanisms. Key enhancements over Geth include:
- Privacy: GoQuorum supports private transactions and private contracts through the separation of public and private states, and uses encrypted peer-to-peer message exchanges for direct transfer of private data to network participants.
- Alternative consensus mechanisms: Proof-of-work or proof-of-stake consensus is not required for a permissioned network. GoQuorum offers multiple consensus mechanisms that are designed for pool chains like Raft and IBFT. QBS uses the IBFT consensus mechanism.
- Peer permissions: Node and peer permissions via smart contracts ensure that only known parties can join the network.
- Higher performance: GoQuorum offers higher performance than the public Geth.
explorers
are online blockchain browsers that display individual block content, transaction address data, and history. If you need more detailed information during development, block explorers can be helpful. You can use a block explorer like Nethereum lite explorer.
TPS Measurement
As blockchains are used in more enterprise-oriented scenarios, high transactions per second (TPS) are important to avoid bottlenecks and system inefficiencies. High transaction fees can be difficult to maintain within a decentralized blockchain. An accurate measurement of TPS can be affected by a number of factors, including server thread, transaction queue size, network latency, and security. If you need to measure TPS speed during development, a popular open source tool is ChainHammer.