Smart contracts
Ride
Enjoy the advantages of Ride programming language. Ride is an easy-to-learn and user-friendly programming language specifically designed for developing decentralised 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.
Decentralized applications
A decentralized application (dApp) is an application that is stored and executed on the blockchain network. There are many fields in which dApps can be implemented, including decentralized finances, decision-making, certification, tokenization, team management and gambling.
Smart accounts
Basically, a smart account is an account with an attached script, so that the account can validate every transaction before confirming it. An account can restrict any outgoing transaction based on: signatures and other supplied data, proofs, current blockchain height and arbitrary blockchain data, like data from oracles sent as data transactions.
Smart assets
Smart assets are unique virtual currency tokens that may represent a tangible real-world asset, or a non-tangible ownership that can be purchased, sold, or exchanged as defined by the rules of a script on the Waves blockchain network. In simple words, smart assets are assets with an attached script which validates every transaction with the asset.
Developer Tools
Signer
Waves Signer is a TypeScript/JavaScript library that enables signing and broadcasting transactions on behalf of users without asking them for their seed phrases or private keys and even without a need to install browser extensions.
Keeper
Waves Keeper is a browser extension that allows users to sign transactions and securely interact with Waves-enabled web services. Waves Keeper is designed for convenience, enabling users to sign transactions with just a couple of clicks. Users can create multiple wallets and switch between them easily. And if a user ever forgets the password to the account, the access can be recovered from the seed phrase.
Explorer
Waves Explorer is an online service that displays Waves’ Mainnet, Testnet and Stagenet blockchain data in a human-readable form. Configurable for users’ custom network, Waves Explorer provides tracking of any network or blockchain node and delivers APIs that enable the display of token distribution by addresses and history of balance changes.
Online IDE
Write, test and deploy scripts for your decentralized application’s customized logic directly in the browser. Online IDE has an integrated testing framework based on JavaScript framework Chai, intelliSense and syntax highlighting to make the development process easier. You can also find a library of Ride smart contract examples and try them.
VSCode plugin
This extension for Visual Studio Code provides Ride language support and interaction with the Waves blockchain. Its key features are сode completion (snippets), syntax and error highlighting and a JavaScript console with built-in functions for interaction with the Waves blockchain.
dApps UI
Waves-dApp.com provides an auto-generated UI from dApp meta information and works via Waves Keeper and/or other Web 3.0 providers inside the Waves ecosystem. It works with Mainnet, Testnet, Stagenet and Customnet (localhost: 6869). Just paste a dApp address or URL in the search field and the app will figure out the network from the bytes of the address and operate with the correct node. Waves-dApp.com allows developers to run early testing and try out functionality as the contract is being implemented. Testers have full access to all callable functions, and dApp administrators don’t need to build a separate interface as the Waves-dApp UI is simple and powerful.
Surfboard
Surfboard is a command line interface for working with Ride smart contracts and the Waves blockchain. Surfboard provides built-in JavaScript functions for interaction with the Waves blockchain: signing and sending transactions, reading blockchain data, working with account keys and others.
APIs
Node API
The Node API or the Waves Node API is a REST API of the blockchain node. This API facilitates fetching data, sending transactions and checking node status. Waves Association provides free public access to API endpoints for Mainnet, Testnet and Stagenet.
Waves Data Service API
This is an API for analytical services aimed at retrieving data quickly and conveniently with additional filters and ordering options. Data Service API stores blockchain data in a centralized database which is more flexible and scalable than a blockchain node.
Matcher API
The matcher exposes its own REST API for accessing the order book and submitting orders. This allows users to implement any kind of trading UI or trading bots.
Client libraries
Waves transactions
Using this library you can easily create and sign transactions for the Waves blockchain in your JavaScript/Typescript application. It can be used both on the client side and server side. It also contains useful functions for cryptography and node REST API interaction.
PyWaves
PyWaves is an object-oriented Python interface to the Waves blockchain platform. The library is developed by the community and is open-source. Latest documentation and examples can be found in the Github repository.
WavesJ
It’s a Java library for interacting with the Waves blockchain. It supports node interaction, offline transaction signing, matcher orders and creation of addresses and keys.