A blockchain platform which makes building applications a joy.
Quick start for developers
We recommend working through the Getting Started guide, then reviewing the following pages for more details:
- How to create or connect to a blockchain.
- Customizing the blockchain parameters which affect the entire chain and network.
- API commands for controlling MultiChain and possible error codes and messages.
- Customizing the runtime parameters which affect the behavior of individual nodes.
For examples of more advanced usage of MultiChain, follow the tutorials below:
- Permissions consensus – creating a consensual governance model for your blockchain.
- Asset reissuance – creating units of an asset and metadata in several stages.
- Atomic exchanges – safely swapping assets in a single transaction (delivery-versus-payment).
- Stream confidentiality – using three streams to efficiently manage selective disclosure.
- External key management – storing private keys outside of the MultiChain node’s wallet.
- Multisignatures – protecting assets and other activity under multiple users’ keys.
- Raw transactions – lower level APIs for building complex or unusual transactions.
Get product updates (one email per month max)
More learning materials
Below are links to materials which can help get you up to speed with MultiChain:
- Short video: Create a MultiChain private blockchain in 90 seconds
- Paid course: How to set up a MultiChain blockchain using AWS EC2 (third party, link includes discount)
We’re looking to expand this list, so please contact us and let us know what you’re looking for.
A key design principle of MultiChain is maximal compatibility with Bitcoin Core, the reference client for the bitcoin network. This includes bitcoin’s network protocol, transaction format, block format and output scripts, as well as Bitcoin Core’s runtime parameters and JSON-RPC API. Almost all of the information in the Bitcoin Developer Documentation is applicable to MultiChain.
In order to support features such as multiple networks, custom blockchain parameters, permissions, assets and streams, MultiChain extends the bitcoin protocol and software in many ways, as described below. All extensions to the block and transaction formats use bitcoin-compatible metadata (
OP_DROP) to ensure that tools built for bitcoin can also be used with MultiChain.
- Using cold nodes and wallets to keep private keys away from nodes connected to the network.
- Permissions management transactions (use
OP_DROPmetadata in transaction outputs).
- Native asset transactions (use
- Data stream transactions (use
- The format of addresses and private keys which extends bitcoin’s scheme.
- Mining and block signatures (use
OP_RETURNin coinbase transaction).
- Extended peer-to-peer handshaking to include node identification.
Open source code
MultiChain is open source under the GPLv3 license, available on Github. We also offer commercial licenses for those wishing to integrate MultiChain into a proprietary software solution – please contact us for details.
Tools and libraries
Below are some tools for helping with MultiChain development:
- MultiChain Explorer – web-based browsing of blockchain activity.
- MultiChain Web Demo – simple web interface for many APIs.
- MultiChainClient – C# wrapper for the MultiChain API by Lucid Ocean. See also C# MultiChainLib by PBJ Cloud.
- MultiChainJavaAPI – Java wrapper for the MultiChain API by Worldline.
- libphp-multichain – PHP wrapper for the MultiChain API by Kunstmaan Labs.
- Savoir – Python wrapper for the MultiChain API by DXMarkets.
- multichain-client – Ruby wrapper for the MultiChain API by The Open Data Institute.
- docker-multichain – Docker images for a simple 3-node MultiChain setup by Kunstmaan Labs.
- YobiChain – a private blockchain ecosystem preloaded with MultiChain and related tools.