markdown structure formatting, rendered pages unchanged
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user