# Getting Started

hybrix provides several methods to easily interact with distributed ledgers and data sources. This enables you to connect your application to a multitude of blockchains!

## Are you a beginner?

If you are just a beginner, it is best to try and learn about blockchain by experimenting with the REST API. Without difficulty, you will be able to get balance values for any cryptocurrency, or retrieve the fee needed for sending a transaction to a blockchain system. You may also experiment with decentralized storage, validate addresses or read data directly from processes. The blockchain world is your oyster, go wild and experiment, and above all... have fun!

## Are you a more advanced developer?

More advanced developers will most likely want to use the Javascript library to enable their application to talk to hybrix. This makes it possible to build powerful client-side applications. The library also talks to the REST-API when necessary over an encrypted channel, and it offers useful functions to construct and sign your transactions client side. Furthermore, there is the possibility to run a local node for complete control and support the decentral network.

## REST API

Retrieve information from hybrixd using uniform endpoints for all supported blockchains.

Features

- Retrieve balances
- Retrieve transaction history
- Address validation
- Push transactions
- Encrypted and compressed communication channels
- Retrieve client-side code

Live example

For example, the balance of the Bitcoin address `13JQwoSLLR3ffXwswe2HCTK9oq4i8MWK3q` can be retrieved using

`https://api.hybrix.io/asset/btc/balance/13JQwoSLLR3ffXwswe2HCTK9oq4i8MWK3q`

Read more about the REST API

## hybrix JS library

Connect your software to leverage the capabilities of the hybrix platform.

Features

- Seamlessly interface with hybrixd
- Handle all client-side operations securely
- Encrypted channels

Live example

    hybrix.sequential([
      {host: 'http://localhost:1111/'}, 'addHost',                  // Add and initialize the host
      {query: '/asset/btc/balance/13JQwoSLLR3ffXwswe2HCTK9oq4i8MWK3q'}, 'rout'  // Query for asset balance
    ],
     onSuccess,       // Define action to execute on successfull completion
     onError,         // Define action to execute when an error is encountered
     onProgress       // Define action to execute whenever there is a progress update
    );

Progress

Result

...

Read more about the hybrix JS library

## hybrix node

Run a local node for complete control and support the decentral network.

Features

- Connect to a plethora of blockchain and ledger systems
- Get formatted information from different sources
- Push deterministic transactions to decentralized ledgers
- Execute Qrtz script applications

Example

`./hybrixd /asset/btc/balance/32FCGFdRGeho2HBeWQPaAYawJfPqHHvsCJ`

Read more about the hybrix node