Navigation Menu

Skip to content

storj-thirdparty/uplink-nodejs

Repository files navigation

uplink-nodejs binding

Codacy Badge

Developed using v1.2.2 storj/uplink-c

API documentation and tutorial

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Storj is one of the most popular Cloud Storage which is Decentralized, Secure, Private, Reliable, Affordable

How it works:

  • Objects are encrypted
  • Encrypted objects are split into smaller pieces.
  • Object pieces are globally distributed.
  • Objects are retrieved when you need them.

This project is built with C/C++ and the building result is binding libraries of uplink in nodejs.

Getting Started

Prerequisites

  • please ensure make is already installed.
  • proper C/C++ compiler toolchain, like GCC
  • please ensure Node.js with version 10 or higher is installed
    $ node -v
    
  • please ensure node-gyp dependencies is already installed.
    $ npm install -g node-gyp
    
  • Make sure your PATH includes the $GOPATH/bin directory, so that your commands can be easily used Refer: Install the Go Tools:
    $ export PATH=$PATH:$GOPATH/bin
    

Building the Package

  • download the source project
    $ git clone https://github.com/storj-thirdparty/uplink-nodejs.git
    
  • after changing the source code, build it
    $ npm run preinstall
    

Testing the Results

The source project includes testing script to test it locally.

  • need to build and release the binaries to root directory of the project
    $ npm install
    
  • creat secret.txt in root directory of project and input api key getting from access panel whiling creating Access Grant in storj.io
  • In /test/testcase.js, change the satelliteURL with the information getting from access panel whiling creating Access Grant in storj.io
  • run the test
    $ npm test
    

Usage

  • Install the storj-nodejs Node.js package
    $ npm install uplink-nodejs
    
  • Set Environment variable
    • MacOS
      • Set DYLD_LIBRARY_PATH environment variable
        $ export  DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$PWD/node_modules/uplink-nodejs/
        
        OR
      • Copy libuplinkc*.* files from $PROJECTROOT/node_modules/uplink-nodejs/ to /usr/local/lib
    • Linux
      • Set LD_LIBRARY_PATH environment variable
        $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/node_modules/uplink-nodejs/
        
        OR
      • Copy libuplinkc*.* files from $PROJECTROOT/node_modules/uplink-nodejs/ to /usr/lib
    • Windows
      • Set Path environment variable to libuplinkc*.* which is $PROJECTROOT/node_modules/uplink-nodejs
  • In node application, import the package and call functions
    const storj = require("uplink-nodejs");
    const libUplink = new storj.Uplink();
    

Documentation

For more information on function definations and diagrams, check out the Detail or jump to: