From a84b61d0a9853bd6808b18b953a17cae1b88b2c1 Mon Sep 17 00:00:00 2001 From: Tomek Marciniak Date: Fri, 6 Sep 2024 11:38:50 +0200 Subject: [PATCH] feat(minajs): add services breakdown --- apps/docs/docs/pages/about.mdx | 44 ++++++++++++++++-- .../docs/pages/connect/getting-started.mdx | 1 + apps/docs/docs/pages/connect/index.mdx | 8 +++- apps/docs/docs/pages/index.mdx | 2 +- apps/docs/docs/pages/klesia/rpc.mdx | 8 ++-- apps/docs/docs/pages/klesia/sdk.mdx | 4 ++ apps/docs/package.json | 1 + apps/docs/vocs.config.ts | 7 ++- bun.lockb | Bin 293232 -> 328136 bytes 9 files changed, 65 insertions(+), 10 deletions(-) create mode 100644 apps/docs/docs/pages/connect/getting-started.mdx diff --git a/apps/docs/docs/pages/about.mdx b/apps/docs/docs/pages/about.mdx index 41d85cb..89e35b4 100644 --- a/apps/docs/docs/pages/about.mdx +++ b/apps/docs/docs/pages/about.mdx @@ -1,8 +1,8 @@ -import { Callout } from 'vocs/components' - # About MinaJS [Learn about MinaJS and Klesia.] -As of September 2024, MinaJS is in early development. Don't use for production just yet. +:::warning +As of September 2024, MinaJS is in early development. Don't use for production just yet. +::: MinaJS is a TypeScript interface for Mina Protocol. It provides a set of TypeScript types and utilities to interact with Mina Protocol. MinaJS is the missing piece for your smooth zkApp development on Mina. It aims to remove the complexities, and allow developers to focus on building innovative zkApps on Mina. @@ -17,6 +17,44 @@ MinaJS provides a set of services to interact with Mina Protocol. The services a - **Klesia** - A JSON-RPC wrapper over Mina Node's GraphQL API, similar to APIs like Alchemy and Infura. It's self hostable, so you can bring your own infrastructure. - **Klesia SDK** - A TypeScript SDK to interact with Klesia JSON-RPC API with type-safe interfaces and properties auto-completion. +## Services and interaction breakdown + +```mermaid +graph TD + A[End user] -- uses --> B[zkApp] + B[zkApp] -- provides feedback to --> A[End user] + + B[zkApp] -- integrated with --> C[MinaJS Connect] + C[MinaJS Connect] -- provides responses to --> B[zkApp] + + C[MinaJS Connect] -- interacts with --> D[MinaJS Provider] + D[MinaJS Provider] -- provides responses to --> C[MinaJS Connect] + + D[MinaJS Provider] -- interacts with --> E[Mina Wallet] + E[Mina Wallet] -- sends data to --> D[MinaJS Provider] + + E[Mina Wallet] -- implements --> F[MinaJS Account] + F[MinaJS Account] -- handles accounts and signing for --> E[Mina Wallet] + + E[Mina Wallet] -- interacts with --> I[Klesia SDK] + I[Klesia SDK] -- provides data to --> E[Mina Wallet] + + G[Klesia] -- interacts with --> H[Mina Node] + H[Mina Node] -- provides data to --> G[Klesia] + + B[zkApp] -- uses --> I[Klesia SDK] + I[Klesia SDK] -- provides data to --> B[zkApp] + + I[Klesia SDK] -- interacts with --> G[Klesia] + G[Klesia] -- provides data to --> I[Klesia SDK] + + A[End user] -- uses --> E[Mina Wallet] + E[Mina Wallet] -- provides data to --> A[End user] + + G[Klesia] -- interacts with --> J[Fallback Mina Node] + J[Fallback Mina Node] -- provides data to --> G[Klesia] +``` + ## Supported Chains - Mina Mainnet diff --git a/apps/docs/docs/pages/connect/getting-started.mdx b/apps/docs/docs/pages/connect/getting-started.mdx new file mode 100644 index 0000000..6193338 --- /dev/null +++ b/apps/docs/docs/pages/connect/getting-started.mdx @@ -0,0 +1 @@ +# Getting Started [Start with MinaJS Connect.] diff --git a/apps/docs/docs/pages/connect/index.mdx b/apps/docs/docs/pages/connect/index.mdx index f9bf1ab..706690c 100644 --- a/apps/docs/docs/pages/connect/index.mdx +++ b/apps/docs/docs/pages/connect/index.mdx @@ -1 +1,7 @@ -#TODO +# MinaJS Connect [zkApps and Mina wallets living in piece.] + +The Connect library is a centerpiece of connecting your zkApp with Mina Protocol wallets. It provides a set of utilities to discover wallets, and interact with them in a seamless way, complying to the latest specs of Mina. + +## Purpose + +With MinaJS Connect we try our best to comply to the latest Mina Protocol specs regarding zkApps and wallets, so you don't have to. The Connect library complies with [RFC-0008](https://github.com/MinaFoundation/Core-Grants/blob/main/RFCs/rfc-0008-wallet-provider-api.md). diff --git a/apps/docs/docs/pages/index.mdx b/apps/docs/docs/pages/index.mdx index b5f017d..4be680c 100644 --- a/apps/docs/docs/pages/index.mdx +++ b/apps/docs/docs/pages/index.mdx @@ -19,7 +19,7 @@ import { GithubIcon } from 'lucide-react'
-