How To Implement A Blockchain Enterprise Project

Blockchain enables transparent and secure business processes in almost every industry.

What started as a means to power up a decentralized payment network has morphed into a decentralized world computer where developers from all around the world can come and create their own software applications.

This is a truly exciting space with lots of scope for development. However, if you are a new entrant in this space, you might feel a little bit lost.

At iExec, we leveraged our years of experience in the industry to create this guide specifically for you. The following is a framework and suite of tools to get you started on your journey as an enterprise or developer building a blockchain project.

But before we start, remember that blockchain is a new way of storing data in a distributed ledger, that allows multiple stakeholders to confidently and securely share access to the same information. The technology ensures trust in business environments with a multitude of participants.

How To Implement A Blockchain Enterprise Project by iExec
Steps for implementing a blockchain enterprise project

Identify your problem

It all starts with a pressing problem you would like to solve.

Blockchain enables more transparency, enhanced traceability, increased speed of processes, and reduced costs.

All around the world, leading institutions and governments are already reaping the benefits of blockchain-based solutions. The technology enables them to build trusted and customizable business networks.

Need some inspiration?

           
  • Airbus teamed up with Blockchain at Berkeley to track jet plane parts on the blockchain ;
  •        
  • Barclays has launched a number of blockchain initiatives involving tracking financial transactions, compliance and combating fraud ;
  •        
  • IBM and Maersk collaborated to work on the first cross-border, blockchain-based supply chain solution ;
  •        
  • The Estonian government has partnered with Ericsson on an initiative involving creating a new data center to move public records onto the blockchain ;
  •        
  • Dubai has set sights on becoming the world’s first blockchain-powered state.

Want more? Forbes has compiled a list of the top 50 publicly-listed companies embracing blockchain technologies. Check it here.

Is blockchain really necessary?

While blockchain is a great solution to many problems, it is not the ultimate go-to technology for every problem.

Sometimes, a database is all you need.

So how can you know if blockchain is a good fit for your use case? You may use a decision tree such as the following one developed by ConsenSys.

Why you need a blockchain
ConsenSys

At iExec, we see these questions as a spectrum. The more secure, decentralized, immutable and trustless your system needs to be, the more relevant is blockchain to your use case.

ConsenSys argues that if the answer to 4 out of 6 questions is “yes”, you may in fact need a blockchain solution for your business.

Ok, I need a blockchain but which one?

If building a blockchain from scratch might take several years, enterprises can leverage already-available and battlefield-tested blockchain protocols to significantly reduce development times. These protocols can be public or private.

Ethereum with its unrivaled programmability has shown us that an enterprise can use a public blockchain to create decentralized applications. It has become the backbone of the decentralized finance (DeFi) movement, and is currently the most attractive platform for developers. iExec is built on top of Ethereum.

Meanwhile, 2020 is a critical year for the smart contract platform race, as it is gradually picking up speed as more L1 projects hit the market. NEAR, Celo, Oasis Labs, Solana, DFINITY, AVA, Elrond are all part of a competitive market trying to capture the attention of blockchain devs. They have either already released a mainnet beta or have a planned launch for 2020.

Beside public blockchains, organizations could prefer a private blockchain service like Hyperledger, which was created by the Linux Foundation.

Web3 enterprises

Turning ideas into a concrete plan

You may be working with a team of developers and designers. In collaboration with them, you’ll have to determine the structure of the app, both on the back-end and the front-end.

This means:

           
  • Drafting business requirements
  •        
  • Defining the initial vision of the architecture and technology stack to be used
  •        
  • Finding what technology components should be added as off-chain and on-chain entities on the blockchain ecosystem
  •        
  • Sketching a conceptual workflow of your blockchain application
  •        
  • Identifying risks and limitations
  •        
  • Setting a budget and a timeline

iExec is a decentralized marketplace for cloud resources, and is a particularly interesting example of an architecture that leverages the best of both the on-chain and off-chain worlds.

iExec’s key protocol, the Proof-of-Contribution, is the centerpiece of its marketplace. It’s role is to provide trust in an open and decentralized environment, to orchestrate the contributions of different stakeholders, and to ensure payments are always fair and timely. For these reasons, it is a transparent and immutable on-chain component of iExec, deployed on the Ethereum blockchain.

As for the machines running heavy computations, these are off-chain components for scalability reasons. The art of iExec lies in connecting IT systems to blockchain networks in a scalable fashion.

Let’s build

Armed with a well-thought and strategic plan, it’s time for developers to guide the technical aspects and build the system’s components: smart contracts.

If you’re using Ethereum, you must know there are many different tools that facilitate blockchain development.

Amongst the most popular:

           
  • Metamask is a popular extension that connects a browser to the Ethereum blockchain. It manages onlines identities and facilitates the signing of transactions. It’s also mobile-compatible!
  •        
  • Truffle is a development framework for smart contracts that manages, compiles and deploys code, and gives access to hundreds of packages to expand functionality.
  •        
  • Ganache is part of the Truffle suite. It can be used to easily deploy private blockchains. It simulates the Ethereum network on a single computer and allows you to make calls to the blockchain without any of the hassles of running a real Ethereum node.
  •        
  • Drizzle is a framework and series of tools for creating front-ends for decentralized applications.
  •        
  • Solidity is a language for coding smart contracts, and Remix is a web-based place to write and test these smart contracts
  •        
  • IPFS is a distributed file system that seeks to connect all computing devices with the same file system. You can use it to store your data without having to put the data itself on-chain.
  •        
  • iExec allows developers to leverage off-chain computing capabilities through an SDK, so they can run compute-intensive applications on the blockchain. iExec supports any legacy applications provided as a Docker image.

ConsenSys has put up an awesome and very comprehensive guide to the available tools, components and platforms for developing applications on Ethereum.

Do not stop testing

Let’s take the case of Ethereum. For developers, private blockchains are set up for testing purposes.

Private chains have advantages over public blockchains in testing. For example, there is no need for nodes syncing or obtaining test ether, as you are the only user, and there are no other smart contracts.

But the disadvantage is that the testing won’t be as good as real scenarios in a public blockchain, in the absence of nodes, users and contracts (1).

This is why the next step after testing on a private chain is usually moving to an Ethereum testnet.

These testnets simulate the main Ethereum network’s behavior. In order to execute smart contracts, virtual fuel must be paid. This virtual gas is freely dispensed by faucets.

By relying on this system, developers can test their smart contracts without using any real money to cover the cost of blockchain fees.

There are various testnets in coexistence. The most commonly used are Ropsten, Rinkeby and Göerli.

various testnets in coexistence
De Xun (Brian) Wu & Zhihong Zou & Dongying Song

Blockchain needs UX

While bugs are getting fixed and developments reaching a production-ready stage, designers may work on the user experience.

Their mission is to tie together all the different project components into a seamless and sexy workflow.

In order to reach a level of adoption beyond blockchain enthusiasts and crypto advocates, UX must be put at center stage.

This is a lesson the earliest blockchain projects and PoCs learned the hard way. While efforts have been made in developing more robust platforms prioritizing UX and UI, further advancements are crucial.

Decentralized applications must compete with centralized competitors in the dimensions of usability, speed, and reliability to achieve broad adoption.

Typically, this translates to less jargon, seamless integrations, and removing barriers to entry (2).

Mass market appeal means inclusive, guided and intuitive interfaces. While this calls for an investment of time and resources, the good news is that UX is an investment that keeps on paying.

Blockchain also needs UX
alexdndz

It’s time for the Mainnet!

Your idea is brilliant and solves a real problem with the help of blockchain technology? Your team has developed an enticing solution and you can’t wait to launch it and onboard users or partners onto it?

Then it’s time for the Mainnet, aka the real Ethereum blockchain, where ether has value.

Congratulations, you’re a blockchain pioneer!

Please bear in mind that on mainnets, weaknesses can be exploited by network participants and cost real money in case of issues. It is therefore recommended and a good practice to have your smart contract audited by an independent expert.

iExec can help you realize the business value of blockchain

So there you have it. This framework and the suite of tools mentioned in this article should help you immensely in your journey as an enterprise or developer building a blockchain project.

By the way, are you planning on building or are already building a decentralized application? If yes, we’d love to hear about it. Shoot us an email at contact@iex.ec

iExec can help you realize the business value of blockchain. You can consult our team of blockchain experts to kickstart your development journey. We’re hungry for new challenges! Also keep an eye on our Twitter account, the coming months will packed with news 🔥

Want to learn more? — Contact: business@iex.ec

Sources:

           
  1. Learn Ethereum: Build your own decentralized applications with Ethereum and smart contracts, De Xun (Brian) Wu & Zhihong Zou & Dongying Song (2019)
  2.        
  3. The Importance of User Experience for Blockchain Application, Martin Kassing (2020)
  4.        
  5. Ethereum Developer Tools, ConsenSys (2020)
  6.        
  7. Forbes Blockchain 50, Michael del Castillo & Matt Schifrin (2020)