Convector Knowledge Base #1

During these weeks since we launched Convector, we have received valuable questions from developers around the world regarding some of its specifications, features, and limitations. We will be grouping them up in small posts so that you can find what others are asking and see if your inquiries have been resolved yet! Some of them come from our Discord chat, some others from events, webinars and hackathons, while others come from direct questions brought to use.

  • ️⭐️ marked questions are frequent questions.
  • ❗️ market questions are the ones we believe are really important.

⭐️ Question 1. Is it mature enough to support big scale projects over time?

Answer 1. Before releasing Convector to the community we migrated all of our internal systems to Convector. We believe it is ready to be put in production ready projects, and we have received feedback from people using it (and working fine) in real projects.

Comments 1. This is a fairly common question since most of the people started with Composer (it’s impossible to search for Fabric without finding a Composer example) and most of the people feel like Composer (included us) is just for Proofs of Concept. Also, Composer is mostly stopped from receiving new features according to IBM itself.

❗️Question 2. How feasible / hard is it to use other TS packages inside our code?

Answer 2. You can use any other NPM package (including TS packages) with no effort at all inside project with Convector. The only restriction for code that runs in a chaincode is that it has to be deterministic (always the same result, no network or disk access, etc) but this is the rule with or without Convector.

Question 3. Does it embed an ACL like Composer does, or any sort of reliable built-in to control what an identity can / cannot see / do?

Answer 3. The framework does not offer any official ACL (although we’ve this in the roadmap) but you don’t necessary need one. In Convector you have the this.sender which is a string with the fingerprint of the sender’s public key. With this, you can write complex models in your application checking if the transaction is being made by someone with the necessary permissions. The reason we haven’t built an ACL yet is because we haven’t had the need for it yet.

Question 4. How are identities linked to “objects” from the system? One really interesting feature about Composer is the ability to have a participant "endorse" an identity and act as such.

Answer 4. Since you are the one who writes the logic behind models, you can use one of the model’s properties as the owner, and use this.sender to assign the identity to it. Take a look for example at this Participant model, with we use to map the signer identity as an object inside the chaincode: and later in code we use this to compare permissions of ownership like this In that last example we’re mapping one signer to one Participant object, but as I said, Convector is flexible to do anything you need, so you can have a Participant composed by multiple signers

❗️Question 5. What is a reliable source of informations for Convector?

Answer 5. Here are the official Convector Docs.

⭐️ Question 6. What is the this.sender property?

Answer 6. It’s a built in property that stores a deterministic fingerprint of the application certificate sending the transaction, allowing to identify the “user” making the request.

❗️Question 7. Is there some sort of architectural diagram to understand where Convector fits in an enterprise architecture?

Answer 7. Since Convector leverages the existing Fabric model, Convector locates as the following diagram outlines.

This will be for this week! We may have unified some questions into just one to make it more legible.

Subscribe to this publication for more information about Convector and the Blockchain world!

About WorldSibu

We build a blockchain enterprise ecosystem, powered by an infrastructure management platform to deploy blockchain services with just one click for any blockchain tech on any cloud. We also offer free -open source- development kits for developers, enabling them to access blockchain and create apps. With this, we create a marketplace for developers and companies. Follow us in Twitter and Facebook.