Waves IDE: improving developer experience

Vladimir Zhuravlev
Waves Protocol
Published in
5 min readOct 20, 2020

In this article, Vladimir Zhuravlev, Waves developer advocate, discusses the most convenient features of Waves IDE, explaining how they lower the ecosystem entry threshold for developers.

The Waves protocol’s main goal is to be a platform for the creation of decentralized apps (dApps) by outside developers. On top of the blockchain, new products are built, such as wallets, DeFi apps, games and systems for motivation, certification and decision making.

To stay an attractive tool for dApp creation, the protocol has to be not only reliable, but also user-friendly. Therefore, the Waves team pays special attention to developer experience (using the same approach as to user experience), creating a line of convenient products that will help even novice developers to seamlessly integrate blockchain into their app.

The Waves ecosystem features an entire set of developer tools, including Waves Explorer, Waves Keeper, Signer and Surfboard. But the flagship product is Waves IDE, the main development platform.

Lego-like smart contracts

Primarily, Waves IDE is a platform for writing and deploying smart contracts in the Ride language. This is clear from looking at the starting page.

Speaking about smart contract creation, one can imagine a complicated process, but with Waves IDE, you can do it in one click. When you click “Plus” > “DApp Script,” a new file with a .ride extension will be created — a standard smart contract template.

This is how a .ride template looks like. It contains the most often used code snippets and displays the logic of program structure. On top of this template, you can build your own smart contract — just like with Lego bricks.

“Lego bricks” — code snippets — can be found in the left-hand menu, in the Library tab. Source code of five dApps is available there as an example.

By studying the examples and adding code, a developer writes a smart contract. To publish it, you just hit the “Deploy” button and sign a transaction. Your smart contract is now ready to use.

To save code rather than publish it, a developer can download a file with source code or, which is even more convenient, copy a link to IDE code with the “Share file” button. This functionality enables new blockchain developers to share their ideas, improving the efficiency of the product creation process.

Thanks to Waves IDE, smart contract creation can be compared to building with Lego bricks. What a developer builds in Waves IDE can be sent to the blockchain or shared with colleagues in one click.

Tips and tricks for more experienced developers

Apart from the low entry threshold for new developers, Waves IDE offers convenient functionality for experienced dApp developers. Incidentally, I was able to truly appreciate some of Waves IDE features only when I got deeply immersed in smart contract development.

Now, I’d like to share my three favorite Waves IDE tricks.

The first is the default setting of an additional fee for smart contract requests.

This setting can help developers to save a lot of time. Frankly, I experienced the same problem multiple times in the past: to make sure a transaction is accepted, I had to manually increase the fee size. This setting resolves this issue, speeding up the smart contract development process. If you regularly develop dApps, take advantage of this trick!

Another trick will be useful not only for developers, but also for just about anyone who wants to make sense of a dApp.

When you write a smart contract to the blockchain, its source code will look like this:

It’s not quite legible, is it? An outsider is unlikely to make sense of this code. But here comes a lifehack: use the button “Open Dapp” to open a page with an automatically generated interface for this smart contract:

This way, a smart contract looks much more attractively. You can also test it here, calling functions with the “Invoke” buttons.

The final trick I’d like to share comes as a proof that the IDE is not just a developer environment, but a potential starting point for any ecosystem user. Did you see a fountain pen icon in the left-hand bottom corner of the screen? If you hit it, you’ll be offered to sign and send any transaction!

Thus, you can use Waves IDE to run transfer and exchange transactions or just write data to the blockchain. These basic operations for interaction with blockchain can come handy for users with any experience level.

Improving developer experience

Today, the blockchain industry’s main task is achieving mass adoption of the distributed ledger technology. Only growing user numbers will support the industry’s sustainable development.

Therefore, developer experience — the convenience of app creation — is becoming as vital as never before. The more diverse products are built, the more users will come to blockchain.

The Waves protocol team has created a whole range of tools for developers, among which Waves IDE is a pillar for novice developers. But a range of extra features will be useful to experienced dApp developers, as well.

Are you using Waves IDE? Which features do you like and what can be improved or added?

--

--