angular-xpx-lib

ProximaX developer angular typescript SDK for NIS 1

Stats

StarsIssuesVersionUpdatedCreatedSize
angular-xpx-lib
0.0.113 years ago3 years agoMinified + gzip package size for angular-xpx-lib in KB

Readme

Angular-XPX-Lib

ProximaX developer angular typescript SDK for NIS 1

Feature

  • Remote Upload Service
  • Remote Download Service
  • Remote Announce Transaction
  • Remote Node Info

1. Demo

https://thomas-tran.github.io/proximax-demo

2. Requirements

  • Angular 6
  • RxJS 6
  • NodeJS > 8.x

3. Installation

npm install angular-xpx-lib

4. Usage

4.1 Remote Upload Service

  • Import RemoteUploadService to your component.ts
 import { RemoteUploadService } from "angular-xpx-lib";
  • Inject the service via constructor
constructor(private service: RemoteUploadService) { }
private baseURL = 'https://testnet2.gateway.proximax.io/';

ngOnInit() {
    this.service.setBaseUrl(this.baseURL);
}

4.1.1 - uploadText

Upload text data to IPFS network and returns the IPFS datahash

  • Create the UploadTextRequest payload
const title = 'Test title';
const data = 'Simple text message';
const keywords = 'proximax, upload, text';
const contentType = 'text/plain';
const encode  = 'UTF-8';
const metadata = {
    'author':'Proximax.io'
}

const payload = new UploadTextRequest(title,data,keywords,metadata,contentType,encode);
                            
  • Call the uploadText service
this.uploadService.uploadText(payload)
    .subscribe(response => {
        console.log(response);
    });

4.1.2 - uploadBinary

Upload binary file to IPFS network and returns the IPFS datahash

  • Create the UploadBinaryRequest payload
const title = 'Test title';
const keywords = 'proximax, upload, text';
const contentType = 'application/vnd.ms-excel';
const metadata = {
    'author':'Proximax.io'
}

// uploadBinary require base64 array of bytes as an input
let data = [];

// Upload excel file from input form
let uploadFile = this.fileUploadForm.value; // the actual file type

// Read the upload file as array buffer
const reader = new FileReader();

reader.onload() = (e) => {
    const arrayBuffer = reader.result;

    // need to convert arraybuffer to base64 encoded string
    let base64Encoded = convertToBase64(arrayBuffer);

    // convert base64 encoded string back to the byte array
    for (let i = 0; i < base64Encoded.length; i++) {
        data.push(base64Encoded.charCodeAt(i));
    }
};

reader.readAsArrayBuffer(uploadFile);

// Construct the binary upload payload
const payload = new UploadBinaryRequest(title, data, keywords ,metadata , contentType);
                            
  • Call the uploadBinary service
this.uploadService.uploadBinary(payload)
    .subscribe(response => {
        console.log(response);
    });

4.1.4 - uploadBase64Binary

Upload base64 string encoded binary file to IPFS network and returns the IPFS datahash

  • Create the UploadBinaryRequest payload
const title = 'Test title';
const keywords = 'proximax, upload, text';
const contentType = 'image/png';
const metadata = {
    'author':'Proximax.io'
}


let data = null;

// Upload image file from input form
let uploadFile = this.fileUploadForm.value; // the actual file type

// Read the upload file as array buffer
const reader = new FileReader();

reader.onload() = (e) => {
    const arrayBuffer = reader.result;

    // need to convert arraybuffer to base64 encoded string
    data = convertToBase64(arrayBuffer);

};

reader.readAsArrayBuffer(uploadFile);

// Construct the binary upload payload
const payload = new UploadBinaryRequest(title, data, keywords ,metadata , contentType);
                            
  • Call the uploadBase64Binary service
this.uploadService.uploadBase64Binary(payload)
    .subscribe(response => {
        console.log(response);
    });

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.