Let's say you find yourself or your company wanting to build custom blockchain, possibly with support for smart contracts or some less common consensus mechanism. Some questions you would ask yourself or others at this point usually are:
- Is the solution to build it from scratch?
- Can we just clone Bitcoin or some other blockchain code and begin from there?
- How do we create a team for this, we've never done any blockchain projects before?
- We want XYZ feature(s), can it be done in reasonable amount of time and within budget?
- Who do we contact for support, advice?
The answer to all of there really depends on your needs and constraints. From there you are to create requirements and define timeline of your project. Most of blockchain related projects can be done without carrying out complex operation of developing yet another blockchain but if for some reasons public main-nets don't satisfy your requirements like transaction throughput , confirmation time, compatibility with other chains, permissions etc ...
Is the solution to build it from scratch?
Yeah, sure. When we're at it, why not build custom programming language for smart contracts. Or reinvent consensus protocols. Or encryption standards. Or hot water. Don't get me wrong, I like ambitious people and teams, there would be no innovation if not for very brave and curious people and groups around the world . But if it's so you can say in your marketing message that you have reinvented the way things are working .. it might be effective marketing tool but it will burry you and your team in burden of doing hard things which are already done and you'll never see the project deployed successfully. You need very deep pockets and a lot of hard-to-find people on your team to get this properly done.
Frameworks(s) we are recommending are Tendermint and Cosmos SDK. Tendermint is consensus protocol built by top researchers and developers in blockchain space. It has been battle tested and used by many different companies and organizations including Binance, Hyperledger, Loomx etc...
Binance used it to create their Decentralized Exchange and issue BNB token. They have been able to complete this in several months and with far less resources as opposed to doing all this research, development and testing by themselves. This solves your core issues regarding efficient and secure consensus mechanism.
For the business logic, smart contract layer, permissions and many other non-core related things you can use modular Cosmos SDK. You have a lot of modules already available, for example for interoperability with Bitcoin, Ethereum and some other blockchains you can use IBC module for inter blockchain communications.
Inspired by Tendermint
There are some other similar software frameworks / protocols inspired by or built on top of Tendermint like Polkadot which is similar to IBC, protocol for inter blockchain communication.
If you are in enterprise or corporate environment then you might find Hyperledger Burrow which is built on tendermint but uses SQL like queries to search for data in chain. Hyperledger foundation is other great place too look when choosing blockchain framework. It is managed by Linux foundation and includes many other companies like IBM, Intel, SAP, J.P.Morgan etc.
Who do we contact for support, advice?
For many other questions that you might have please feel free to leave them in comments or reach out to us.
Author: Sulejman Sarajlija
Blockchain Developer and Researcher
Photo by D'Vaughn Bell from Pexels
Ever felt trapped while managing dozens of contacts, activities, pets activities, reminders, and follow-up social events like birthdays and so on? Well, you can easily manage all of this and more with Monica. Monica is a free, open-source self-hosted personal CRM solution to help you keep tracking all of your...Read more...
Penpot is a free, open-source web-based design and prototyping application for teams. It works with open web standards as it uses SVG (Scalable Vector Graphics) format. Penpot can be installed on a remote server or the local machine with help of Docker and Docker Compose. With Penpot, you can quickly...Read more...
What is FreeScout?FreeScout is a free, open-source web-based support and ticketing system. It is written in PHP using the Laravel framework. FreeScout features a responsive user interface that works on small mobile screens and tablets. It is an ideal solution for team, technical support, and customer support for small...Read more...
What is Easy!Appointments?Easy!Appointments is an open-source, free, web-based, self-hosted, event scheduler and appointment manager. It is created by Alex Tselegidis, a software developer from Greece. Easy!Appointments syncs events with Google Calendar, and similar calendar services. It is a highly customizable, easy-to-use system, written with PHP and...Read more...
Nowadays, there is almost an app for anything, even managing families. It may be an absurd idea for some, but many may need it especially for big families. Mea-Familia is designed for this purpose. It is an open-source web-based self-hosted system to manage family members, their activities, chores, shopping list,...Read more...