1. Introduction to MultiBaas

What is MultiBaas?

The MultiBaas blockchain application server is middleware for the blockchain. You can use it to more easily build decentralized applications (DApps) on one or more blockchain platforms. Currently MultiBaas supports the Ethereum and OmiseGO Plasma blockchain platforms. It is offered as software-as-a-service (SaaS) and has both a web UI as well as a comprehensive REST API.

MultiBaas makes developing DApps easier

How can MultiBaas help?

A DApp consists of an off-blockchain mobile app, web UI, desktop application, or back-end service, and an on-blockchain smart contract. Interacting with smart contracts requires developers to learn a new programming paradigm and become familiar with a rapidly changing set of new tools. Running blockchain infrastructure also requires specialized knowledge and close attention. MultiBaas can handle one or more of these aspects for you and offload much of the development complexity.

Advantages

MultiBaas makes it easier to build on and use the blockchain while preserving key principles of decentralization. MultiBaas composes transactions but you or your users sign them: your private keys stay with you. Blockchain-savvy users can always interact directly with the blockchain and MultiBaas will stay in sync.

A familiar REST API makes it easy to interact with smart contracts. Simple actions, such as getting or setting a state variable, are straightforward. So are more complex activities, such as governance transactions with layered multi-signature wallets.

The eventually consistent model of the blockchain can make keeping track of state tricky. Developers traditionally have to choose between slow, limited state synchronization, or complex logic to handle chain re-organizations and missed transaction logs. MultiBaas' intelligent caching system gives you efficient access to the blockchain while reducing the complexity.

Creating a DApp

Here is an end-to-end flow of how you might use MultiBaas to start building a DApp:

  1. Sign up for an account and select a plan.
    • Deploy a MultiBaas instance and login to it. Add accounts to the instance for your teammates. Designate this your development instance of MultiBaas.
  2. Write and upload a smart contract to MultiBaas. Deploy it to the blockchain or link an already-deployed instance using the web UI.
    • Configure how MultiBaas processes data going to and coming from your smart contract.
    • Read and update your smart contract via the web UI.
    • Generate an API key and interact with your smart contract via the command line or with code.
  3. Iterate on your smart contract, mobile app or web UI, and back end service.
    • Deploy additional integration testing and production instances of MultiBaas. Set these up with the appropriate production permissions and grant access to appropriate members of your team.
    • Deploy your production smart contract, publish your DApp, and continue to monitor and control your blockchain software via MultiBaas.