Announcing: Convector, a JavaScript Framework for Smart Contract Systems

Today we are officially releasing Convector to the community, the first Open Source development framework for JavaScript Smart Contract Systems initially built for Hyperledger Fabric (for now! We expect to add support on other blockchain technologies soon, so that you create your applications once and run them anywhere).

Hyperledger Fabric recently added NodeJS support to its smart contract engine, and now we are releasing our own internal development framework for you to get started in minutes. It’s the same technology we use at WorldSibu to build smart contract systems.

There is clearly no easy way to start bringing ideas to life without having to learn a new programming language or adding external components to your development lifecycle, such as containers or other components that translate to the blockchain. That said, we think this will help push forward the adoption of blockchain technologies through the immense community it has around it. We went already through most of the options available, learning Go, downloading the Composer containers, understanding solidity, and we though, why not a way to create Smart Contracts that really suits our current JavaScript fullstack, like testing, packaging, CI/CD, and so on.

Convector runs natively to Hyperledger Fabric but includes plenty of helpers like decorators and patterns to your code, to avoid the common pitfalls related to the on boarding of a new technology. We are also releasing all of our Convector Tools. These tools cover much of what it takes to take an idea and turn it into code, that is secure but flexible, easy but robust. Since it has always been thought out like a modular framework, it has a built in plugin system to include new extensions for things like storage layers or adapters.

From a high level perspective, rather than being a development framework to just create the smart contracts, Convector is a full-featured framework to bring to life complete Smart Contract Systems, yeah, may seem similar but there is a big difference. A Smart Contract System is made up of smart contracts but not only that, in the enterprise world there are backend and frontend applications calling the logic out. A somehow typical architecture may look as follows:

A Enterprise Smart Contract System architecture reference.

With Convector you design the specifications and logic once, and bring it to the rest of your application (backend, frontend) but changing only its data storage (save, retrieve), or its adapters (logic, validations).

You design once, and implement on each layer of your stack.

Some Convector Tools and features we are releasing along the framework:

  • Use NPM commands to trigger unit tests with the already built-in mock storage layers or your own data layer. During code reviews, CI/CD, or just while developing.
  • Deploy to a one click created blockchain network included as a package and make sure everything runs accordingly.
  • Call the smart contract from your NodeJS application using the one of the storage layers included.

Roadmap

On supporting other blockchain technologies and programming languages we think this is the right way to proceed, but if you have any suggestion, we are open!

About convector itself, we know these are things any smart contract developer need.

We are committed to the communities, and we believe in the power of decentralized development, so join us in the community and help us improve Convector everyday!

Want to connect with the community? Join our Discord chat!

Sincerely,

Walter Montes
CEO @ WorldSibu

Diego Barahona
CTO @ WorldSibu