Skip to content

Commit

Permalink
chore: simplify developer tools page (#75)
Browse files Browse the repository at this point in the history
  • Loading branch information
MatejVukosav authored Dec 19, 2024
1 parent d4d02b6 commit e2940bd
Showing 1 changed file with 31 additions and 55 deletions.
86 changes: 31 additions & 55 deletions docs/05-developer-tools/00-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,34 @@ id: overview
title: Developer Tools
---

Welcome to the exciting world of application development in the decentralized
space! As a developer, you have the opportunity to build cutting-edge
applications using our comprehensive suite of tools. Start by shaping the core
application logic with our Protocol SDK and then bring your application to life
by crafting intuitive user interfaces with the Client SDK. Join our community of
developers and start creating powerful decentralized applications that can make
a significant impact in the tech world.

Application development consists of two main parts:

1. building the application logic with the Protocol SDK
2. building the application client interface with the Client SDK

## Protocol SDK

The Protocol SDK within the Calimero Network equips developers with tools for
creating, testing, and deploying protocols essential for decentralized
applications (DApps). It features capabilities such as code generation, security
enhancement, and interoperability support to ensure robust and efficient DApp
operations. This SDK is crucial for integrating with the Calimero Network's
components, facilitating seamless updates and versioning critical for DApps in
fields like decentralized messaging and finance.

Currently we have SDK only for rust but in the future we will have SDKs for
other languages as well.

## Client SDKs

The Client SDK includes straightforward tools to help you build your
application. For logging in, we provide functions that allow users to
authenticate using their wallet credentials, which must be set up as root keys
in the admin dashboard. This setup ensures that access is both secure and
straightforward. For handling data, the SDK supports JSON-RPC for direct data
transactions and websockets for live updates. These features are designed to
make your development process efficient and effective, allowing you to focus on
creating a great user experience.

Currently we have SDK only for typescript but in the future we will have SDKs
for other languages as well.

## Publish app

After you have created your application logic with Rust and your application UI
with TypeScript, you can publish your app. Follow instructions in the
[Publish App](../tutorials/publish-app) guide to learn how to publish your app
and how users can download and run it.

## Building app from template

We have prepared template repository for you to get started quickly. You can
find the template repository
[here](https://github.com/calimero-network/core-app-template). Repository
contains two folders, `logic` and `app`. `logic` folder contains the application
logic written in Rust and `app` folder contains the application client interface
written in TypeScript.
We provide different tools for building decentralized applications.

### CLI Tools for interacting with the node and its functionalities

You can use CLI to interact with the node using the terminal.
[Merod](./CLI/merod) is a CLI tool for managing nodes. [Meroctl](./CLI/meroctl)
is tool for performing various operations with the node such as context
creationa or app installation.

### SDKs for building the application

Two primary SDKs are available:

[Protocol SDK](./SDK/protocol-sdk/protocol-sdk): Used for building WebAssembly
(WASM) application logic in Rust. Provide macros for identifying different
application components such as state, logic and events.

[Client SDK](./SDK/client-sdk/client-ts-sdk): Enables frontend development in
TypeScript, supporting wallet authentication and context data handling via
JSON-RPC and WebSockets.

### Apps for node administration throught the UI

- [Admin dashboard](./apps/admin-dashboard) is web interface for node admin api.
- [Desktop application](./apps/desktop-app) is a desktop interface for the node
where node is available as a service on the local machine.

### Examples

We have few repositories that demonstrate how SDK can be used. Check our
[GitHub](https://github.com/calimero-network)

0 comments on commit e2940bd

Please sign in to comment.