Skip to content

wavesplatform/WavesSDK-iOS

Repository files navigation

WavesSDK is a collection of libraries used to integrate Waves blockchain features into your iOS application

What is Waves?

Waves is an open source blockchain platform.

You can use it to build your own decentralised applications. Waves provides full blockchain ecosystem including smart contracts language called RIDE.

How does the blockchain network work?

There is a huge collection of nodes deloyed by miners that store all of the network information in the chain of blocks (aka blockchain), process requests and can add new transactions to the network after checking their compliance with the rules. The miners are rewarded with the network coins called MRT.

The main advantage of this technology is that each node is a synchronized copy of the main blockchain: it means that the information is stored decentralized and won't be overwritten globally if one of the users changes it at one of the node storages. This can garantee that the user's information will stay fair and unchangable.

The important addition is that the service built using Waves blockchain looks like a usual web application and doesn't make user experience more difficult.

You can read the Waves node description and the definitions page for a better understanding of the blockchain functionality.

iOS SDK QuickStart

To build your first Waves platform integrated application and start using all of the blockchain features please go directly to the Waves iOS SDK QuickStart tutorial and follow the instructions.

Waves SDK structure

There are two important SDK parts that are needed to prepare crypto data and create models. You will have to use them to build the services correctly:

  • Waves Crypto handles interaction with crypto part of blockchain, allows to generate seed-phrases, convert public and private keys, obtain and verify addresses, translate bytes to string and back, sign the data with a private key, etc.
  • Waves Models contain models of transactions and other data transfer objects that are needed for building correct services.

Furthermore, there are three main SDK services that provide the blockchain interactions:

  • Waves Node Service allows the application to cooperate directly with the blockchain: you can create transactions, broadcast them and load data from the node using these features. This is the main part of the SDK.
  • Waves Data Service suggests the easier way to access the data that is stored in the node. The methods presented in this service are the most efficient way to read blockchain data but do not help writing it.
  • Waves Matcher Service contains the methods that give ability to integrate Waves DEX (decentralized exchange platform) features into the iOS application. You can collect and add users' orders and work with exchange transactions using this service.

Testing

To test your app you can use Testnet. This is a Waves Mainnet duplicate where it's possible to repeat the real accounts structure without spending paid WAVES tokens. You can create multiple accounts, top up their balances using Faucet (just insert the account address into the input field and get 10 test tokens) and deploy RIDE scripts (as known as "smart contracts") using Waves RIDE IDE.

Useful links

Support

Keep up with the latest news and articles, and find out all about events happening on the Waves Platform.

Please see the issues section to report any bugs or feature requests and to see the list of known issues 🤝😎

wavesplatform

Website | Discord | Forum | Support | Documentation