markdown structure formatting, rendered pages unchanged

This commit is contained in:
Erin Rivas
2023-08-11 09:44:59 -05:00
parent 5ef50c6768
commit b103539ad4
61 changed files with 583 additions and 322 deletions
+15 -24
View File
@@ -1,6 +1,7 @@
---
sidebar_position: 1
---
# About These Libraries
## Quickstart
@@ -17,15 +18,19 @@ To get started using Jackal in the browser, you'll need a few things!
### Setting Up
To get started, make sure you [start your project using Vite](https://vitejs.dev/guide). If you have an existing React app for example, re-init the project using Vite.
To get started, make sure you [start your project using Vite](https://vitejs.dev/guide). If you have an existing React
app for example, re-init the project using Vite.
Install dependencies:
```shell
npm install jackal.js
npm install -D vite-plugin-node-stdlib-browser
```
Jackal.js requires Node v20+. The easiest way to manage this is with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
Jackal.js requires Node v20+. The easiest way to manage this is
with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
```shell
nvm use 20
```
@@ -46,12 +51,15 @@ export default defineConfig({
### Connecting Your Wallet
Custom chain configurations are required for [Testnet](#testnet-configuration), and for Keplr on [Mainnet](#mainnet-configuration). The following are the correct options to use.
Jackal.js additionally supports app-level overrides to the chain default settings. This requires some redundancy, but allows for greater flexibility in projects.
Custom chain configurations are required for [Testnet](#testnet-configuration), and for Keplr
on [Mainnet](#mainnet-configuration). The following are the correct options to use.
Jackal.js additionally supports app-level overrides to the chain default settings. This requires some redundancy, but
allows for greater flexibility in projects.
#### Wallet Selection
Currently Jackal,js supports Keplr and Leap wallets. Only a single wallet can be used at any time, but you can switch between them as desired.
Currently Jackal,js supports Keplr and Leap wallets. Only a single wallet can be used at any time, but you can switch
between them as desired.
```js
const selectedWallet = 'keplr'
@@ -181,7 +189,6 @@ const finalWalletConfig = {
...appConfig,
chainConfig
}
// Hooking up the wallet to your app
const wallet = await WalletHandler.trackWallet(finalWalletConfig)
```
@@ -199,10 +206,8 @@ This means giving the protocol $8 USD per month per tb. We can do this with Jack
```js
const storage = await StorageHandler.trackStorage(wallet)
// (Wallet address, duration in months (min 1),
// space in terabytes (min .001)
// 2 TB for 1 year:
await storage.buyStorage(WALLET_ADDRESS, 12, 2)
```
@@ -211,15 +216,12 @@ await storage.buyStorage(WALLET_ADDRESS, 12, 2)
```js
const fileIo = await FileIo.trackIo(wallet)
const listOfRootFolders = ["Home", ...]
const listOfRootFolders = ["Home", ...]
// you can create as many root folders as you would like this way. Home is the dashboard default root directory.
// The first time a user connects, they must init the system
const storage = await StorageHandler.trackStorage(wallet)
const msg = storage.makeStorageInitMsg()
await fileIo.generateInitialDirs(msg, listOfRootFolders)
// after the first time, this code can be used instead. this will only create new root folders if they don't already exist
const newFolderCount = await fileIo.verifyFoldersExist(listOfRootFolders)
```
@@ -228,12 +230,9 @@ const newFolderCount = await fileIo.verifyFoldersExist(listOfRootFolders)
```js
const fileIo = await FileIo.trackIo(wallet)
const parentFolderPath = PARENT_FOLDER_NAME // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const listOfChildFolders = ["Movies", "Pictures", ...]
await fileIo.createFolders(parent, listOfChildFolders)
```
@@ -241,14 +240,11 @@ await fileIo.createFolders(parent, listOfChildFolders)
```js
const fileIo = await FileIo.trackIo(wallet)
const parentFolderPath = PARENT_FOLDER_NAME // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const file = FILE_OBJECT // this MUST be an instance of File() that is in the browser memory
const fileName = file.name
const handler = await FileUploadHandler.trackFile(file, parentFolderPath)
const uploadList = {}
uploadList[fileName] = {
data: null,
@@ -257,7 +253,6 @@ uploadList[fileName] = {
key: fileName,
uploadable: await handler.getForUpload()
}
await fileIo.staggeredUploadFiles(uploadList, parent, {counter: 0, complete: 0})
```
@@ -265,22 +260,18 @@ await fileIo.staggeredUploadFiles(uploadList, parent, {counter: 0, complete: 0})
```js
const fileIo = await FileIo.trackIo(wallet)
/* optional */
const parentFolderPath = PARENT_FOLDER_NAME // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const childrenFiles = parent.getChildFiles()
const pathOfFirstChild = parent.getMyChildPath(childrenFiles[0].name)
/* end optional */
const downloadDetails = {
rawPath: FILE_PATH, // manual complete file path OR pathOfFirstChild
owner: OWNER_ADDRESS, // JKL address of file owner
isFolder: false
}
const fileHanlder = await fileIo.downloadFile(downloadDetails, { track: 0 })
const fileHanlder = await fileIo.downloadFile(downloadDetails, {track: 0})
const file = fileHanlder.receiveBacon()
// do what you want with the File object returned by receiveBacon
```
@@ -1,13 +1,15 @@
---
sidebar_position: 2
---
# Jackal.js-protos / Jackal.nodejs-protos
## About
The Protos modules for Jackal.js and Jackal.nodejs ("Protos") is the conversion layer the accepts raw protobufs from the
Jackal chain and converts them to useable typescrypt code. The differences between these 2 packages are only in the
compatibility with either browser or Nodejs Javascript APIs and how they are packaged for consumption. Protos is designed
compatibility with either browser or Nodejs Javascript APIs and how they are packaged for consumption. Protos is
designed
for those that wish to write their own Jackal-compatible library instead of using Jackal.js / Jackal.nodejs.
## Quickstart
@@ -17,30 +19,37 @@ To get started using Protos, you'll need a few things!
### Pre-requesites
Both:
* Nodejs v20+
* [ECIESJS](https://www.npmjs.com/package/eciesjs)
Jackal.js-protos:
* [Vite](https://vitejs.dev)
* Chromium-family browser (Chrome, Brave, Edge, etc)
* [Keplr](https://www.keplr.app) or [Leap](https://www.leapwallet.io/cosmos) wallet extension
Jackal.nodejs-protos:
* None
Protos requires Node v20+. The easiest way to manage this is with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
Protos requires Node v20+. The easiest way to manage this is
with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
```shell
nvm use 20
```
### Setting Up
To get started, make sure your Jackal.js-protos based project has [Vite installed](https://vitejs.dev/guide). Jackal.nodejs-protos
To get started, make sure your Jackal.js-protos based project has [Vite installed](https://vitejs.dev/guide).
Jackal.nodejs-protos
does not need this.
Install dependencies:
(Jackal.js-protos)
```shell
npm create vite@latest
npm install jackal.js-protos eciesjs @cosmjs/launchpad @cosmjs/proto-signing @cosmjs/stargate
@@ -50,13 +59,16 @@ npm install -D vite-plugin-node-stdlib-browser
OR
(Jackal.nodejs-protos)
```shell
npm install jackal.nodejs-protos eciesjs @cosmjs/launchpad @cosmjs/proto-signing @cosmjs/stargate
npm install -D @types/node typescript tscpaths
```
#### Updating Vite Config
(Jackal.js-protos)
```js
// In vite.config.js:
import { defineConfig } from 'vite'
@@ -71,5 +83,6 @@ export default defineConfig({
## Next Steps
Once everything is set up as detailed above, you are free to create as little or as much using the methods exposed by Protos.
Once everything is set up as detailed above, you are free to create as little or as much using the methods exposed by
Protos.
Full documentation of these methods coming soon.
+18 -25
View File
@@ -1,6 +1,7 @@
---
sidebar_position: 3
---
# Jackal.js
Implements [Jacakl.js-protos](https://www.npmjs.com/package/@jackallabs/jackal.js-protos)
@@ -13,6 +14,7 @@ To get started using Jackal in the browser, you'll need a few things!
### Pre-requesites
* Nodejs v20+
* [Vue.js](https://vuejs.org/guide/introduction.html) or [React](https://react.dev/learn)
* [Jackal.js](https://www.npmjs.com/package/@jackallabs/jackal.js)
* [Vite](https://vitejs.dev)
@@ -21,16 +23,20 @@ To get started using Jackal in the browser, you'll need a few things!
### Setting Up
To get started, make sure you [start your project using Vite](https://vitejs.dev/guide). If you have an existing React app for example, re-init the project using Vite.
To get started, make sure you [start your project using Vite](https://vitejs.dev/guide). If you have an existing React
app for example, re-init the project using Vite.
Install dependencies:
```shell
npm create vite@latest
npm install @jackallabs/jackal.js-protos @cosmjs/proto-signing
npm install -D vite-plugin-node-stdlib-browser
```
Jackal.js requires Node v20+. The easiest way to manage this is with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
Jackal.js requires Node v20+. The easiest way to manage this is
with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
```shell
nvm use 20
```
@@ -51,12 +57,15 @@ export default defineConfig({
### Connecting Your Wallet
Custom chain configurations are required for [Testnet](#testnet-configuration), and for Keplr on [Mainnet](#mainnet-configuration). The following are the correct options to use.
Jackal.js additionally supports app-level overrides to the chain default settings. This requires some redundancy, but allows for greater flexibility in projects.
Custom chain configurations are required for [Testnet](#testnet-configuration), and for Keplr
on [Mainnet](#mainnet-configuration).
The following are the correct options to use. Jackal.js additionally supports app-level overrides to the chain default
settings. This requires some redundancy, but allows for greater flexibility in projects.
#### Wallet Selection
Currently Jackal,js supports Keplr and Leap wallets. Only a single wallet can be used at any time, but you can switch between them as desired.
Currently Jackal,js supports Keplr and Leap wallets. Only a single wallet can be used at any time, but you can switch
between them as desired.
```js
const selectedWallet = 'keplr'
@@ -186,7 +195,6 @@ const finalWalletConfig = {
...appConfig,
chainConfig
}
// Hooking up the wallet to your app
const wallet = await WalletHandler.trackWallet(finalWalletConfig)
```
@@ -204,11 +212,9 @@ This means giving the protocol $8 USD per month per tb. We can do this with Jack
```js
const storage = await StorageHandler.trackStorage(wallet)
// (Wallet address)
// duration in months (min 1)
// space in terabytes (min .001)
// 2 TB for 1 year:
await storage.buyStorage(WALLET_ADDRESS, 12, 2)
```
@@ -216,16 +222,14 @@ await storage.buyStorage(WALLET_ADDRESS, 12, 2)
### Creating a Root Folder
```js
const fileIo = await FileIo.trackIo(wallet)
const listOfRootFolders = ["Home", ...]
const minimumProviderVersion = '1.0.9'
const fileIo = await FileIo.trackIo(wallet, minimumProviderVersion)
const listOfRootFolders = ["Home", ...]
// you can create as many root folders as you would like this way. Home is the Jackal Dashboard default root directory.
// The first time a user connects, they must init the system
const storage = await StorageHandler.trackStorage(wallet)
const msg = storage.makeStorageInitMsg()
await fileIo.generateInitialDirs(msg, listOfRootFolders)
// after the first time, this code can be used instead. this will only create new root folders if they don't already exist
const newFolderCount = await fileIo.verifyFoldersExist(listOfRootFolders)
```
@@ -234,12 +238,9 @@ const newFolderCount = await fileIo.verifyFoldersExist(listOfRootFolders)
```js
const fileIo = await FileIo.trackIo(wallet)
const parentFolderPath = PARENT_FOLDER_NAME_AND_PATH // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const listOfChildFolders = ["Movies", "Pictures", ...]
await fileIo.createFolders(parent, listOfChildFolders)
```
@@ -247,14 +248,11 @@ await fileIo.createFolders(parent, listOfChildFolders)
```js
const fileIo = await FileIo.trackIo(wallet)
const parentFolderPath = PARENT_FOLDER_NAME_AND_PATH // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const file = FILE_OBJECT // this MUST be an instance of File() that is in the browser memory
const fileName = file.name
const handler = await FileUploadHandler.trackFile(file, parentFolderPath)
const uploadList = {}
uploadList[fileName] = {
data: null,
@@ -263,7 +261,6 @@ uploadList[fileName] = {
key: fileName,
uploadable: await handler.getForUpload()
}
await fileIo.staggeredUploadFiles(uploadList, parent, {counter: 0, complete: 0})
```
@@ -271,22 +268,18 @@ await fileIo.staggeredUploadFiles(uploadList, parent, {counter: 0, complete: 0})
```js
const fileIo = await FileIo.trackIo(wallet)
/* optional */
const parentFolderPath = PARENT_FOLDER_NAME_AND_PATH // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const childrenFiles = parent.getChildFiles()
const pathOfFirstChild = parent.getMyChildPath(childrenFiles[0].name)
/* end optional */
const downloadDetails = {
rawPath: FILE_PATH, // manual complete file path OR pathOfFirstChild
owner: OWNER_ADDRESS, // JKL address of file owner
isFolder: false
}
const fileHanlder = await fileIo.downloadFile(downloadDetails, { track: 0 })
const fileHanlder = await fileIo.downloadFile(downloadDetails, {track: 0})
const file = fileHanlder.receiveBacon()
// do what you want with the File object returned by receiveBacon
```
@@ -1,6 +1,7 @@
---
sidebar_position: 4
---
# Jackal.nodejs
## Quickstart
@@ -18,12 +19,15 @@ A working demo repo can be found [on GitHub](https://github.com/JackalLabs/pup-d
### Setting Up
Install dependencies:
```shell
npm install @jackallabs/jackal.nodejs
npm install -D @types/node typescript tscpaths
```
Jackal.js requires Node v20+. The easiest way to manage this is with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
Jackal.js requires Node v20+. The easiest way to manage this is
with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating).
```shell
nvm use 20
```
@@ -88,12 +92,9 @@ const newFolderCount = await fileIo.verifyFoldersExist(listOfRootFolders)
```js
const fileIo = await FileIo.trackIo(wallet)
const parentFolderPath = PARENT_FOLDER_NAME_AND_PATH // for example Dashboard's root folder path is s/Home
const parent = await fileIo.downloadFolder(parentFolderPath)
const listOfChildFolders = ["Movies", "Pictures", ...]
await fileIo.createFolders(parent, listOfChildFolders)
```
@@ -1,6 +1,7 @@
---
sidebar_position: 5
---
# Jackal.go
## Quickstart
@@ -1,4 +1,4 @@
{
"label": "dApp Libraries",
"position":1
}
"label": "dApp Libraries",
"position": 1
}