- Business blockchain concepts
- What's in the Starter Plan
- What's NOT in the Starter Plan
- What's beyond the Starter Plan
- The Starter Plan vs. open source CLI
- Start now! Kick-start your blockchain network using the Starter Plan
- Or start building your blockchain network using other options
- Get help and support
- Next steps
- Downloadable resources
IBM Blockchain 101: Quick-start guide for developers
Build a kick-starter blockchain network and start coding with the IBM Blockchain Platform Starter Plan
Join the blockchain revolution! If you're exploring distributed ledger technology for business use and want to build a business blockchain for demos, pilots, or pre-production staging, this guide is for you. We'll introduce you to several ways to get started now, including the free IBM Blockchain Platform Starter Plan beta.
This guide shows you how to spin up a blockchain network based on the latest open source Hyperledger Fabric framework using either the Starter Plan or alternative methods. But let's first review key concepts around developing a business blockchain network.
Business blockchain concepts
What is a business blockchain network?
A business blockchain network is a decentralized network that uses distributed ledger technology for the efficient and secure transfer of business assets between member organizations in the network. Assets can be physical or digital, such as vehicles, diamonds, fresh produce, or insurance records. A shared, distributed ledger records an immutable history of all asset transactions between participants in the network, and catalogs the current state (world state) of those assets. The business rules that govern transactions are agreed upon by members and encapsulated in chaincode, also known as smart contracts.
Instead of relying on a central authority or trusted intermediary, such as a bank or brokerage firm, to validate transactions, members of a blockchain network use a consensus mechanism to improve transaction processing speed, transparency, and accountability across the network. For additional confidentiality, members join one or more channels that allow for data isolation; a channel-specific ledger is shared by the authenticated peers in that channel.
A blockchain network for business is collectively owned and operated by a group of identifiable and verifiable institutions, such as businesses, universities, or hospitals. In such a permissioned network, the participants are known to each other, and transactions are processed much faster than in an non-permissioned, public network, like the Bitcoin network. In a Bitcoin network, members are anonymous, forcing the reliance on "proof-of-work" and other types of consensus mechanisms that require time-consuming computations to confirm identities and validate transactions.
Need more background?
- Check out our Introduction to distributed ledgers.
- Take the Blockchain essentials course. In this free 2-hour course, you'll learn about blockchain for business and explore key ways the technology sparks innovation. Take a quiz for a badge when you complete the videos and lab exercise.
- Take the IBM Blockchain foundation developer course. This free 6-hour course expands on "Blockchain essentials" and shows you how to model, build, and test a business network and create an application that can query a ledger. Take a quiz for a badge when you complete the videos and lab exercises.
The open source engine of business blockchains: Hyperledger Fabric
To meet modern business demands, IBM has joined with other companies to collaboratively develop an open source, production-ready, business blockchain framework, called Hyperledger Fabric™, one of the Hyperledger® projects hosted by The Linux Foundation®. Hyperledger Fabric supports distributed ledger solutions on permissioned networks for a wide range of industries. Its modular architecture maximizes the confidentiality, resilience, and flexibility of blockchain solutions. 159 engineers from 27 organizations contributed to Hyperledger Fabric v1.0.
- Hyperledger Fabric project overview
- Preview of coming attractions: Hyperledger Fabric v1.1
- Top 6 technical advantages of Hyperledger Fabric for business blockchains
IBM's enterprise-ready platform: The IBM Blockchain Platform
The IBM Blockchain Platform is a blockchain software-as-a-service offering on the IBM Cloud. It's the only fully integrated, enterprise-ready blockchain platform designed to simplify the development, governance, and operation of a decentralized, multi-institution business network. The IBM Blockchain Platform accelerates collaboration in this decentralized world by leveraging open source technology from the Hyperledger Fabric framework and Hyperledger Composer tooling.
The IBM Blockchain Platform makes it fast and easy for network members to get started developing and quickly move to a collaborative environment with the performance, privacy, and security for even the most demanding use cases and regulated industries.
Different membership plans are available to fit different ecosystem needs. You can migrate from proof-of-concept to pilot to production on a secure, high-performance, and fully scalable network that you can't outgrow. The newest membership plan, designed as an easy and economical on-ramp to developing and testing pre-production applications, is the Starter Plan.
Discover the IBM Blockchain Platform:
- IBM Blockchain Platform overview
- Develop, govern, and operate your business network with the IBM Blockchain Platform
What's in the Starter Plan
The easiest and most economical way for developers to get started with blockchain development is the IBM Blockchain Platform Starter Plan, currently in beta. This development and testing environment is ideal for developers who are exploring blockchain technology and want to build a business blockchain for demos, pilots, or pre-production staging.
Any developer — whether enterprise, start-up, academic, novice, or experienced — can experience and deploy code to a full-function, multi-organization blockchain network with the Starter Plan.
The Starter Plan provides one-click setup of a pre-configured, kick-starter network consisting of an ordering service to sequence transactions for the shared ledger, a default channel for communication between the member companies, and two companies, each with a certificate authority and peer node to validate and commit transactions to the ledger. The Starter Plan integrates all Hyperledger Fabric capabilities and the Hyperledger Composer development toolset (called IBM Blockchain Platform: Develop), with the added benefit of an intuitive UI that cuts network administration and governance time.
With the Starter Plan, you can:
- Immediately deploy and demo sample applications (via IBM Cloud toolchains for continuous delivery), and see asset transfers in action.
- Iteratively develop and test your own applications and chaincode in a pre-production staging environment.
- Interact with your network by using APIs in the Swagger UI. Network credentials are provided so you can integrate the APIs into your own applications.
- Invite other organizations to join your network and set up their own peers.
- Add other member organizations to your IBM Cloud account to simulate multi-organization transaction scenarios.
- Develop valuable network governance and operation skills that you can seamlessly transfer to an Enterprise plan. The Starter Plan offers the same experience as the Enterprise plans, so there's no learning curve when migrating to your full production network.
You can use the Starter Plan's sample applications for demo purposes and for developing your own applications. To automatically deploy and run a sample application, just select, deploy, and launch it via the IBM Cloud toolchain. Or learn how to develop your own applications, step by step, by deploying and customizing the sample applications manually.
Several sample applications are available for you to experiment with and run in the default channel. For example:
- The Marbles sample application is a colorful demonstration of how a front-end application interacts with chaincode, as members on a network transfer virtual marbles to other members. The application is written in Node.js, and the chaincode is written in Go.
- The Vehicle Manufacture sample is both an Angular web application and a tutorial that steps you through using Hyperledger Composer to model a simple network that tracks a new car from order to delivery.
The Starter Plan's intuitive UI helps you govern and monitor your network. For example, you can view your peer nodes, add organizations to your network, create new channels for data isolation and privacy for a subset of members, install chaincode on a peer and instantiate it on a channel, and set up notifications for activities that need member approval.
In short, the Starter Plan makes it easier than ever to get hands-on experience with business blockchain development, governance, and operation in a collaborative, pre-production environment. And because the same easy-to-use UI extends through the other membership plans, your learning curve is flattened when you move to production deployment.
What's NOT in the Starter Plan
The Starter Plan is optimized for getting started with pre-production development and testing. It differs from the Enterprise plans in several ways:
- In the Starter Plan, the certificate authority and ordering service are not fault tolerant. Each company in the Starter Plan network has only one certificate authority, and the network has only one ordering service, which performs SOLO consensus.
- In the Starter Plan, the Hardware Security Module (HSM) is not available to safeguard and manage digital keys for strong authentication and cryptoprocessing.
- In the Starter Plan, during maintenance and network updates (performed on a fixed schedule), you may experience brief outages.
- The Starter Plan does not guarantee data retention with release upgrades. However, you can migrate your Starter Plan .bna files, chaincode, and applications to Enterprise plans.
What's beyond the Starter Plan
When you're ready to grow your network further and deploy your network definition, chaincode, and applications to a production environment with added layers of hardened security and premium support, you'll want an Enterprise plan.
In an Enterprise plan, you get all of the Starter Plan features, plus a crash-tolerant, production-level infrastructure running in a secure cloud container on an IBM z® mainframe, complete with runtime/data isolation, high availability for the ordering service and certificate authority, and the ability to use HSM cards for secure key storage.
Why not just use open source technologies directly on your own computer?
A locally deployed blockchain based on the Hyperledger Fabric framework and built with Hyperledger Composer tools will be a terrific simulation. But without access to other member organizations, you can't experience or test the scalability and power of a multi-organization network. Furthermore, using the open source technologies locally requires a bit more patience and dexterity with command-line coding.
Conversely, with the Starter Plan, you get a scalable, reliable, fully integrated IDE that guides you through network creation, deployment, monitoring, and governance with simple clicks, easy instructions, and extensible samples. The code and skills you develop on the Starter Plan are easily transferable to Enterprise plans, when you're ready for a full-scale network in production.
Start now! Kick-start your blockchain network using the Starter Plan
The easiest, most economical way to learn your way around a real business blockchain and start developing blockchain skills and applications now is to sign up for the IBM Blockchain Platform Starter Plan.
- Sign up for the Starter Plan (free beta).
- You'll be directed to the Blockchain catalog page in the IBM Cloud to launch your Starter Plan network. At the top of the page, fill in a Service name for your network. Under Pricing Plans, select Starter Membership Plan (Beta), and then click Create.
- When you see the Welcome screen, choose whether you want to begin by watching Don and Mark's introductory video, by deploying sample applications, or by developing and deploying your own applications.
- If you select Develop apps, you'll be guided through a
series of easy steps to install the "IBM Blockchain Platform: Develop" tools
to model and deploy
your network definitions to the Starter Plan. Complete details are in the
Starter Plan documentation. Here's a
preview of what you'll be guided to do:
- Install the development tools (npm modules) to create and test your business network.
- Create a directory containing all the components that you'll need to define for your business network, including assets, participants, and transactions.
- Model your business network by defining the asset classes, participant classes, transaction classes, event classes, and access control rules.
- Package your new business network into a single deployable file called a business network archive (.bna) file.
- Deploy the .bna file to the IBM Blockchain Platform Starter Plan network. When the .bna file is deployed, a REST server can be generated and build RESTful API calls so that external applications can interact with your blockchain network.
Or start building your blockchain network using other options
If you prefer to build and run a local network, check out these instructions for setting up Hyperledger Composer and Hyperledger Fabric using Docker Compose. For a detailed walk-through of how to deploy the network locally, see the IBM Code pattern Build a blockchain network.
If you'd like to set up a network that developers can interact with, you need a network that is exposed to the internet. You can create a blockchain network that runs on a Kubernetes cluster within IBM Cloud by following these IBM Blockchain instructions for setting up Hyperledger Composer on Kubernetes. You'll also see how to create a REST server that exposes API endpoints so developers can interact with your blockchain network.
If you're a total open source, do-it-yourselfer and prefer command-line coding, check out the docs for creating a Hyperledger Fabric network at Hyperledger.org.
Get help and support
There are lots of ways to get support and answers to your questions.
- For general blockchain questions:
Search dW Answers. Browse questions that have already been asked, or submit a new question (include the keyword blockchain).
- For help with the IBM Blockchain Platform Starter Plan:
The Support section in the UI provides many resources for self-help as well as release notes. For software defects or a problem that eludes the given resources, you'll find instructions to submit a support case in the IBM Cloud Service Portal. When you submit a support case, you get an email response within minutes.
- For specific Hyperledger Fabric implementation questions:
The Hyperledger Rocket.Chat channels and Stack Overflow are your best bets.
- For more help with Hyperledger:
Browse the Hyperledger Channel Guide and join the discussion group suited to your question.
We hope you'll try out the Starter Plan, have fun with it, and let us know in the Comments section below anything you'd like to see in it.
We'll conclude with 5 great ways to continue building your blockchain skills:
- Stay in the know with the Blockchain Newsletter from developerWorks. Check
out the current issue and subscribe.
- Stop by the Blockchain Developer Center on
developerWorks. It's your source for tools and tutorials, along
with code and community support, for developing and deploying
blockchain solutions for business.
- Take the Blockchain essentials course for
developers to learn the ins and outs of asset
transfers. At the end of this free, self-paced, 2-hour course, take a quiz, get
a badge, and start planning useful blockchain applications for your
- Advance to the IBM Blockchain foundation
developer course, a free 6-hour course that expands on
"Blockchain essentials" and provides a more detailed picture of the
components and architecture of blockchain business networks, as well
as experience building a network and creating an application.
- Check out the many blockchain code patterns, which provide roadmaps for solving complex problems, and include overviews, architecture diagrams, process flows, repo pointers, and additional reading.