This guide is focused on software engineers who are interested in building on Waves protocol.
Waves is a blockchain, just like Ethereum just that Waves makes it easier for you to access and build on blockchain technology.
Here are some amazing features Waves blockchain currently offers that interests software engineers
Faster confirmation time for transactions, this is important for payment apps.
Cheap and flat network fees for transactions
Elegant APIs and libraries
Easy to understand smart contract language (RIDE)
Dedicated developer support community (24/7)
Waves is open source and open to the public on Github
NOTE: Waves in this article means the same as Waves blockchain, Waves protocol or Waves platform except otherwise stated.
But wait, what can you build on/with Waves?
There is a wide range of implementation you can do with Waves; including integrating Waves technology into your existing product/project or building a new project from scratch on Waves.
DeFi (Decentralized Finance) products like loan apps to lend and borrow money, savings app.
Blockchain-powered loyalty app
Record keeping dApps
Borderless remittance app (especially for Africa)
Tokenized asset marketplace
Blockchain-powered games etc
Which way to go now?
I understand developers’ background varies and Waves ecosystem provides you with a wide range of developer tools and community to start testing and building.
Let us start with the client-libraries - these libraries are used to create, sign and send transactions, as well as to read data from the Waves blockchain. See below which one best fits for you.
WavesKit (PHP): An all-in-one Waves Platform development kit for the PHP language. Github Repo
WavesJ: A Java library for interacting with the Waves blockchain. It supports node interaction, offline transaction signing, matcher orders and creation of addresses and keys. See documentation | Github Repo
WavesC: C library for working with Waves. See documentation
WavesCS: A C# library for interacting with the Waves blockchain. Supports node interaction, offline transaction signing, Matcher orders, and creating addresses and keys. See documentation
Waves SDK for Android (Kotlin): WavesSDK is a collection of libraries used to integrate Waves blockchain features into your Android application. Github Repo
Waves SDK for iOS (Swift): WavesSDK is a collection of libraries used to integrate Waves blockchain features into your iOS application. Github Repo
Join Waves Developer community now (24/7 community support)
Waves Keeper and Waves Signer
As a developer getting started with building stuff on Waves, these two tools are your good friend. Unlike centralized apps whose backend and database is hosted on a centralized server allowing developers to authenticate their product user details before accessing their service, decentralized apps on Waves store Backend (coded with RIDE) and data on the Waves network. I’m mentioning these two tools because they are very essential when building your Waves powered dApps that will run on web and mobile.
Waves Keeper: Waves Keeper is a browser extension like MetaMask on Ethereum that allows users to sign transactions and securely interact with your Waves-integrated app/dApp without revealing their seed. Waves Keeper is designed for convenience, enabling users to sign transactions with just a couple of clicks. See documentation | Waves Keeper API
Available for Chrome, Firefox, Edge, Opera and Brave
Opportunities on Waves ecosystem
As mentioned in the first part of this series, learning a new technology or moving to a new platform isn’t an easy task. Hence, it must worth it. They are several metrics and parameters every software engineer consider before moving to new technology and one of them is “available opportunity”
My aim is to make developers’ transition into Waves platform easier, smoother and profitable.
Projects keep springing up on Waves ecosystem and this opens doors of opportunity for software engineers who are familiar with Waves technology, tools and ecosystem. Below are opportunities with building on Waves;
Integrating Waves blockchain or service into mobile apps
Web app integration with Waves
Smart contract development
Technical content creation
Grant for developers, team and companies building on Waves like this one
Writing Smart Contracts with RIDE
Ride is an easy-to-learn and user-friendly programming language specifically designed for developing decentralized applications. Ride facilitates building decentralized applications without gas, allowing developers to benefit from a cheaper and more convenient coding process than ever before and making blockchain development totally easy.
Personally, I and my team at Qurulab.com have built some amazing stuff on Waves Blockchain and we would be super excited to assist you if you face any issue.
This article is a quick welcome guide to help you get started with building stuff on Waves irrespective of your developer background. If you have any question or suggestion, don’t hesitate to drop in the comment section or drop on the Waves Developer Telegram community