With the growing popularity and acceptance of Blockchain technology, the number of applications built using the technology has grown tremendously. However, when we talk about applications, there are two types of apps mainly available on the web.
One of the apps is more common and simply called an App, the short form for application. The other is dApp or a decentralized App that has its characteristics. Let us have a closer look at the differences before we come to the context of building a dApp.
Differences
As the name suggests, dApps are decentralized Apps that do not have a third party to look after the messages or transactions made using the App. On the contrary, an App has many users at one end but there is a central authority that controls everything at the backend.
Examples of Apps are millions in number. From every major service provider to a popular financial organization, all have it. Examples of Apps may include Twitter, Facebook, ICICI Bank, etc. Notice that Apps are not websites and they are built mainly for consumers of smartphones.
Unlike, apps, dApps do not have a third party to control and manage operations. It is done via a P2P network. That is, unlike an app of Twitter or Facebook Apps where everything is done on a third-party platform, dApps are a direct 1to1 solution. That is precisely why it is called a decentralized App. The dApps are open source and free from any third-party interference too.
Top dApps
As is known, dApps are exclusively used in the cryptocurrency world. Bitcoin, Ethereum, Dogecoins, and a lot of other cryptocurrencies use it. However, the currencies have yet to gain more popularity as it makes it almost impossible to find the users involved in a blockchain transaction. That is a reason why many governments and businesses term it as fake currency.
Whatever the faith in cryptocurrencies you have, the users of top cryptocurrencies are growing at an exponential rate. And, so are doing the number of top dApps. Some of the dApps that are quite popular include Uniswap V3, Alpaca Finance, Compound, and Venus Protocol, etc. It is unsure whether Cryptocurrencies will get the respect or not but Blockchain has got the momentum it requires.
Now, let us come to the point of deploying an EOS platform on WAX.
Deploying EOS dApps on WAX
The EOS infrastructure is fully compatible with WAX giving free access to create unlimited accounts on the cloud virtually.
Blockchain Account Creation
One has to create a self-managed blockchain account to run the smart contracts of the Blockchain mainnet.
Enough WAX should be in stock to create the account.
Dealing with customers will require the customers to create Blockchain accounts. The link for this is http://all-access.wax.io.
Building the environment
There is a Docker Quickstart panel on the WAX site. Alternately you need to use Wax Blockchain Setup to start the process.
Contracts must be built using the WAX Contract Development Toolkit (WAX-CDT).
This will lead you to set up the local dApp environment.
Blockchain Environments
There are numerous environments associated with creating the right WAX environment. For example, there is the Docker Images, that can be run on a local node. The Public Testnet is available at WAX Testnet and helps create test accounts and simple scripts etc. There are other environments available to help you create the dApp on the site too.
Docker Quickstart
Docker, as the name suggests, helps as a container of software, and sometimes, operating systems too from a secluded environment. Dockers are used mainly to improve speed, manage the source code, and make it easy to upgrade apart from other functionalities.
The Quickstart portfolio includes Docker Images, such as waxteam/dev, which is the heart and soul of the dApp. The Development image is the most notable and useful for getting the work done.
Once the Docker is installed one should create a new wax directory to contain the Blockchain source code and the smart directory.
From the command line, one should start the WAX container in an interactive mode and share the wax directory.
When operations mentioned above are successful, the waxdev bash session will start and common commands can be operated successfully.
On the start of waxdev bash session, one can use common commands to interact with the container. For example, ‘is’ command can be used to get the list of container content.
The next step is to Manage the containers leaving the bash sessions.
One should now exit the waxdev bash session and come back to the host’s command prompt. The ‘docker attach’ command can be used to re-attach the bash session. ‘docker stop’ and ‘docker start’ can be used to stop and start docker sessions respectively.
WAX Blockchain Setup
To set up and use WAX Blockchain, install and use the waxteam — Docker Images. This helps run nodes quickly and efficiently.
What’s Included
The WAX Blockchain contains EOSIO. This WAX Blockchain Source Code Repository includes and installs:
- WAX Blockchain source code
- Dependencies
- Blockchain Tools, including keosd, nodeos, and cleos
- Sample contracts
These components help in managing local wallets, interacting with the WAX Blockchain, creating local accounts, and more.
Installing WAX Blockchain
The GitHub WAX Blockchain Source Code Repository can be used to get the wax-blockchain directory.
To download the repository:
From the command line, take a clone of the Git repository.
Copy, git clone https://github.com/worldwide-asset-exchange/wax-blockchain.git
Now, change the repository to wax-blockchain
Copy, cd wax-blockchain
Update Git submodules.
Copy, git submodule update — init — recursive
This will install the dApp and you can get started using the WAX Blockchain.
Verifying the Installation
To verify that the installation has been done successfully, one can use cleos to click the ‘get info’ endpoint. If the installations have been successful, this will generate various details of the WAX Blockchain.
This is precisely how to create a dApp on WAX Blockchain. Note that the process is very sensitive and hence all steps must be followed in a systematic manner to install the dApps successfully.