Skip to content

irshadCypherock/sdk

 
 

Repository files navigation

Cypherock SDK

Table of contents

  1. Prerequisites
  2. Understanding the directory structure
  3. Development Setup
  4. Local setup
  5. Other commands
  6. Contributing

Prerequisites

Before you get started, please make sure you have the following setup -

  • Node.js v16 (use nvm if already using a different Node version).
  • pnpm
    npm i -g pnpm
    
  • Install protoc
  • Python >=3.6
    • Download and install the latest Python version.
    • Run npm config set python /path/to/executable/python to configure.
  • Install and set up node-gyp -

Understanding the directory structure

├── apps                # Contains all the applications 
│   └── browser             # Browser application to test sdk
│   └── node                # Nodejs application to test sdk
│   └── docs                # Documentation for sdk
│
├── packages            # Holds packages required for sdk
│   └── app-manager         # Manager application containing all
│   └── core                # Handles low level communication protocol necessary for device communication
│   └── hw-hid              # Handles device connection with HID protocol
│   └── hw-serialport       # Handles device connection with SerialPort protocol
│   └── hw-webusb           # Handles device connection with WebUSB protocol
│   └── interfaces          # Contains common interfaces between other packages
│   └── util-*              # Common utilities shared between packages
│
├── submodules          # Contains all submodules required for sdk 
│   └── common              # Common configs and protobufs shared between device and sdk
│
├── package.json

Development Setup

The repository contains submodules, which need to be downloaded as well. Clone the repository along with its submodules using -

git clone git@github.com:Cypherock/sdk.git --recurse-submodules

Local setup

Once you have cloned the repository, follow these steps -

pnpm i        # Install packages
pnpm build        # build all modules

Other commands

  • pnpm start:node: Start demo app on nodejs
  • pnpm start:browser: Start demo app on browser
  • pnpm test: Run all tests
  • pnpm lint: Lint all files
  • pnpm pretty: Prettify all files

Contributing

Please consider making a contribution to the project. Contributions can include bug fixes, feature proposal, or optimizations to the current code.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.8%
  • JavaScript 1.5%
  • Other 0.7%