1.1.0 • Published 5 years ago

js-v-min-sdk v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

js-v-min-sdk

The simple JavaScript library for V Systems

Install

$ npm install js-v-min-sdk

Usage

chain object

  1. For testnet chain:

    const { Blockchain, constants } = require('js-v-min-sdk');
    const nodeAddress = "http://test.v.systems:9922"; // change to your node address
    var chain = new Blockchain(constants.TESTNET_BYTE, nodeAddress);
  2. For mainnet chain:

    const { Blockchain, constants } = require('js-v-min-sdk');
    const nodeAddress = "https://wallet.v.systems/api"; // change to your node address
    var chain = new Blockchain(constants.MAINNET_BYTE, nodeAddress);

address object

  1. create account by seed

    const { Account, constants } = require('js-v-min-sdk');
    var acc = new Account(constants.TESTNET_BYTE);
    acc.buildFromSeed("<your seed>", 0);
  2. create account by keys and address

    const { Account, constants } = require('js-v-min-sdk');
    var acc = new Account(constants.TESTNET_BYTE);
    acc.build("<privateKey>", "<publicKey>", "<address>");

send transaction

  1. Send Payment transaction

    async function sendPaymentTx(chain, tx) {
        const result = await chain.sendPaymentTx(tx);
        console.log(result);
    }
    
    // Create Transaction Object (send 1 VSYS)
    var dataInfo = acc.buildPayment("<recipient address>", 1.0);
    dataInfo["signature"] = acc.getSignature(dataInfo, constants.PAYMENT_TX);
    console.log("Request:");
    console.log(JSON.stringify(dataInfo));
    
    // Send Transaction
    sendPaymentTx(chain, dataInfo);
  2. Send Lease transaction

    async function sendLeasingTx(chain, tx) {
        const result = await chain.sendLeasingTx(tx);
        console.log(result);
    }
    
    // Create Transaction Object (send 1 VSYS)
    var dataInfo = acc.buildLeasing(RECIPIENT_ADDR, 1.0);
    dataInfo["signature"] = acc.getSignature(dataInfo, constants.LEASE_TX);
    console.log("Request:");
    console.log(JSON.stringify(dataInfo));
    
    // Send Transaction
    sendLeasingTx(chain, dataInfo);

Sample Code and Testing

Sample code please refer these files:

test/test-payment.js
test/test-lease.js
test/test-cancellease.js

Run these commands to test (you may need to change some parameters(like SEED, RECIPIENT_ADDR and LEASE_TX_ID) in test file before run).

# Test payment
# Change SEED and RECIPIENT_ADDR in "test/test-payment.js" for your test case
$ npm run payment

# Test leasing
# Change SEED and RECIPIENT_ADDR in "test/test-lease.js" for your test case
$ npm run lease

# Test cancel leasing
# Change SEED and LEASE_TX_ID in "test/test-cancellease.js" for your test case
$ npm run cancel

Feel free to modify these test example files. Write your own code as wallet client and integrate into your project.