simonflex
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.5 • Public • Published

    Flex

    npm version

    Flex Powered Meter Wallets

    Introduction

    Meter-Flex is the standard interface to connect DApps with Meter blockchain and user. Flex is a set of well-designed APIs for developers, with injected Flex Object in web applications they can easily build decentralized applications.

    Get Started

    Meter Wallet or other compatible clients will expose flex API by an injected object on Window Object.

    Meter App Bootstrapping

    Meter apps are usually web apps. On app load, you always need to detect Flex component. If Flex is not available, you may instruct people to setup Flex environment.

    To simplify these steps, simply perform redirection:

    if (!window.flex) {
      location.href = 'https://shoal.meter.io/r/#' + encodeURIComponent(location.href);
    }

    Additionally, network can be specified:

    if (!window.flex) {
      // the app prefers running on test net
      location.href = 'https://shoal.meter.io/r/#/test/' + encodeURIComponent(location.href);
    }

    Install

    TypeScript(Recommended)

    npm install @meterio/flex --save-dev

    Place following line in any .ts file of your project

    import '@meterio/flex';

    or

    add meter-flex to compilerOptions.types in tsconfig.json then you are good to go!

    Vanilla JS

    No need to set up, just code in your favourite way.

    Usage

    const el = document.createElement('h1');
     
    const status = flex.meter.status;
    el.innerText =
      "You are 'flexed' to meter, the status is " + (status.progress === 1 ? 'synced' : 'syncing');
     
    document.querySelector('body').append(el);

    Resource

    FAQ

    TypeScript complier does not find Flex

    First, check tsconfig.json and make sure meter-flex is present in compilerOptions.types. Furthermore if you are doing an angular project and still get the error, you are probably using a larger project with multiple project roots, just adding meter-flex to the root config is not enough in this case. You also have to find all tsconfig.app.ts and tsconfig.spec.ts files in your sub-projects. While these inherit from the main tsconfig.json you have to make sure it does not override the types with for example "types": [] and that there is no conflict with typesRoots

    License

    Flex is licensed under the GNU Lesser General Public License v3.0, also included in LICENSE file in the repository.

    Install

    npm i simonflex

    DownloadsWeekly Downloads

    1

    Version

    0.4.5

    License

    LGPL-3.0

    Unpacked Size

    30.1 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar