/boa-sdk-ts

SDK to interface with the BOSAGORA blockchain

Primary LanguageTypeScriptMIT LicenseMIT

boa-sdk-ts

SDK to interface with the BOSAGORA blockchain boa-sdk-ts is a TypeScript/JavaScript library for communicating with the Stoa API server. It also has utility functions such as hashing and pre-image validation.

Install

$ npm install --save boa-sdk-ts

Import the your library

import * as BoaSdk from "boa-sdk-ts";

Usage

TypeScript

// Create BOA Client
let boa_client = new BoaSdk.BOAClient("http://localhost:3836");

// Query
boa_client.getValidator("GA3DMXTREDC4AIUTHRFIXCKWKF7BDIXRWM2KLV74OPK2OKDM2VJ235GN", 10)
.then((validators: Array<BoaSdk.Validator>) =>
{
    // On Success
})
.catch((err: any) =>
{
    // On Error
});

In Browser

<script type="text/javascript" src="boa-sdk.js"></script>
<script>
    BoaSdk.SodiumHelper.init()
        .then(function()
        {
            console.log("[Test for Hash]");
            var hash_abc = BoaSdk.hash(Uint8Array.fromString('abc'));
            console.assert(hash_abc.toString() === '0x239900d4ed8623b95a92f1dba8' +
                                        '8ad31895cc3345ded552c22d79ab' +
                                        '2a39c5877dd1a2ffdb6fbb124bb7' +
                                        'c45a68142f214ce9f6129fb69727' +
                                        '6a0d4d1c983fa580ba');

            console.log("[Test for KeyPair.fromSeed]");
            var address =
                'GDD5RFGBIUAFCOXQA246BOUPHCK7ZL2NSHDU7DVAPNPTJJKVPJMNLQFW';
            var seed =
                `SBBUWIMSX5VL4KVFKY44GF6Q6R5LS2Z5B7CTAZBNCNPLS4UKFVDXC7TQ`;
            var kp = BoaSdk.KeyPair.fromSeed(BoaSdk.Seed.fromString(seed));
            console.assert(kp.address.toString() === address);
            var signature = kp.secret.sign(Uint8Array.fromString('Hello World'));
            console.assert(kp.address.verify(signature, Uint8Array.fromString('Hello World')));

            console.log("[Test for KeyPair.random]");
            var random_kp = BoaSdk.KeyPair.random();
            var random_kp_signature = random_kp.secret.sign(Uint8Array.fromString('Hello World'));
            console.assert(random_kp.address.verify(random_kp_signature, Uint8Array.fromString('Hello World')));
        });

    Uint8Array.fromString = function (str)
    {
        for (var arr = [], i = 0; i < str.length; i++)
            arr.push(str.charCodeAt(i));
        return new Uint8Array(arr);
    };
</script>

Documentation

BOA-SDK for TypeScript documentation

Testing

$ git clone https://github.com/bpfkorea/boa-sdk-ts.git
$ npm install
$ npm run build
$ npm test