Hyperledger
Hyperledger logoHyperledger

The Linux Foundation-affiliated Hyperledger Project, an open source provider of blockchain technologies, has placed its Hyperledger Composer into incubation by the group's technical steering committee. Composer is a collaboration tool for building "blockchain business networks," accelerating the development of smart contracts and their deployment across a distributed ledger, stated a blog post.

All work done on Composer to date has been done on top of Hyperledger Fabric. However, Composer has been designed so that it can be ported to run on other distributed ledger technologies, such as Hyperledger Iroha or Hyperledger Sawtooth, it said.

Hyperledger said all "blockchain business networks" share certain elements – namely assets, participants, identities, transactions, and registries. With existing blockchain or distributed ledger technologies, it can be difficult for organisations to take a blockchain business use case and map these concepts into running code.

In the same way that the software world was accelerated by the arrival of software modelling tools, the primary goal of the Composer project is to accelerate the development of business networks built on blockchain technology.

The main components are:

  • The modelling language; simple but expressive business-centric (the language features keywords such as asset and participant) language that allows non-developers and developers to model their business network. The modelling language also supports modelling of relationships and data validation rules.
  • The ability to encode business logic as transaction processor functions that are written in standard JavaScript. We chose JavaScript because it is a modern, rapidly evolving programming language that is used by millions of developers around the world, as well as giving us the ability to run the code anywhere that supports standard JavaScript.
  • Declarative access control using access control lists, that allows developers to describe what resources can be accessed by which participants. Access control is automatically enforced by the runtime.
  • Client and administrative APIs, as well as a "composer" CLI application that allows developers and operators to deploy and interact with business networks from Node.js applications or automation scripts.
  • A web based "playground" that allows new and experienced users to learn the language, model their business network, and test that network from the comfort of their web browser. The playground can work in both "disconnected" mode, using a simulated network, and when connected to real running network.
  • REST API support and integration capabilities; a LoopBack connector for business networks has been developed that exposes a running network as a REST API which can easily be consumed by client applications.
  • Syntax highlighting support for two popular open-source editors, Atom and VS Code, with future plans about how we could include testing/debugging capabilities.
  • Application generation using the Yeoman framework; client application developers can quickly generate a skeleton Angular 2 or CLI application to use as a starting point, allowing them to focus on UI/UX rather than business network interactions.

The initial maintainer community is comprised of Simon Stone, Daniel Selman and Kathryn Harrison of IBM, and Cong Tang and others from Oxchains. The project was initially called "Fabric Composer", and was renamed simply "Composer".