Novel Personal Mantras

    banano-uri-generator
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.0 • Public • Published

    Banano URI Generator

    Banano URI Generator is a simple library for generating URIs for the Banano cryptocurrency. It currently supports URIs for sending to an address, changing the representative to an address, importing a private key, and importing a seed.

    The code is based on great nano-uri-generator library by Alec Rios.

    URI Specifications

    TBD

    Installation

    npm install banano-uri-generator
    

    API

    /**
     * Generates a URI for changing the representative.
     *
     * @param {string} address The address to change the representative to.
     * @param {string} [label] The label of the representative change.
     * @param {string} [message] The message of the representative change.
     *
     * @throws {Error} Address must be defined.
     *
     * @returns {string} The URI for changing the representative.
     */
    export declare function getChangeRepURI(address: string, label?: string, message?: string): string;
    /**
     * Generates a URI for importing a private key.
     *
     * @param {string} privateKey The private key to import.
     * @param {string} [label] The label of the import.
     * @param {string} [message] The message of the import.
     *
     * @throws {Error} Private key must be defined.
     *
     * @returns {string} The URI for importing a private key.
     */
    export declare function getImportPrivateKeyURI(privateKey: string, label?: string, message?: string): string;
    /**
     * Generates a URI for importing a seed.
     *
     * @param {string} seed The seed to import.
     * @param {string} [label] The label of the import.
     * @param {string} [message] The message of the import.
     * @param {number | string} [lastIndex] The last index to import.
     *
     * @throws {Error} Seed must be defined.
     *
     * @returns {string} The URI for importing a seed.
     */
    export declare function getImportSeedURI(seed: string, label?: string, message?: string, lastIndex?: number | string): string;
    /**
     * Generates a URI for sending.
     *
     * @param {string} address The address to send to.
     * @param {number | string} [amount] The amount to send (in raw).
     * @param {string} [label] The label of the transaction.
     * @param {string} [message] The message of the transaction.
     *
     * @throws {Error} Address must be defined.
     *
     * @returns {string} The URI for sending.
     */
    export declare function getSendURI(address: string, amount?: number | string, label?: string, message?: string): string;

    Examples

    Generate an URI for sending Banano to an address:

    import { getSendURI } from 'banano-uri-generator';
     
    const bananoAddress = 'ban_3x9zbabf15c7sg6raiytndyf45tbwhtoedocz5gcp4n84hydti87ysj849fk';
    const amount = '10000000000000000000000000000';
    const label = 'Developer Fund';
     
    getSendURI(bananoAddress, amount, label);
    // banano:ban_3x9zbabf15c7sg6raiytndyf45tbwhtoedocz5gcp4n84hydti87ysj849fk?amount=10000000000000000000000000000&label=Developer%20Fund

    Generate an URI for changing the representative to an address:

    import { getChangeRepURI } from 'banano-uri-generator';
     
    const bananoAddress = 'ban_3x9zbabf15c7sg6raiytndyf45tbwhtoedocz5gcp4n84hydti87ysj849fk';
    const label = 'Banano Representative';
     
    getChangeRepURI(bananoAddress, label);
    // bananorep:ban_3x9zbabf15c7sg6raiytndyf45tbwhtoedocz5gcp4n84hydti87ysj849fk?label=Banano%20Representative

    QR Code Generation

    To convert an URI to a QR code (using a library such as qrcode):

    import { getSendURI } from 'banano-uri-generator';
    import QRCode from 'qrcode';
     
    const uri = getSendURI('ban_3x9zbabf15c7sg6raiytndyf45tbwhtoedocz5gcp4n84hydti87ysj849fk');
    const svg = QRCode.toString(uri, {type: 'svg'});

    See Also

    Install

    npm i banano-uri-generator

    DownloadsWeekly Downloads

    5

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    32.3 kB

    Total Files

    13

    Last publish

    Collaborators

    • zh