conflux-web-providers
TypeScript icon, indicating that this package has built-in type declarations

1.36.7-alpha.0 • Public • Published

conflux-web-providers

This is a sub package of ConfluxWeb.js

Installation

npm install conflux-web-providers

Usage Examples

HttpProvider

You can pass with the options object the timeout and all known HTTP headers.

import {HttpProvider} from 'conflux-web-providers';
 
const options = {
    timeout: 20000,
    headers: [
        {
            name: 'Access-Control-Allow-Origin', value: '*'
        },
        ...
    ]
};
 
const httpProvider = new HttpProvider('http://localhost:8545', options); 

WebsocketProvider

Instead of setting a authorization header you could also define the credentials over the URL with: ws://username:password@localhost:8546

import {WebsocketProvider} from 'conflux-web-providers';
const options = { 
    timeout: 30000, 
    headers: {
        authorization: 'Basic username:password'
    }
};
 
const websocketProvider = new WebsocketProvider('ws://localhost:8546', options);

IpcProvider

import {IpcProvider} from 'conflux-web-providers';
import net from 'net';
 
const ipcProvider = new IpcProvider('/Users/me/Library/Conflux/geth.ipc', net);

BatchRequest

The BatchRequest provides the possibility to send JSON-RPC requests as batch.

import {ProviderResolver, BatchRequest} 'conflux-web-providers';
 
const provider = new ProviderResolver().resolve('ws://localhost:8546');
const batchRequest = new BatchRequest(provider);
 
batchRequest.add(confluxWeb.cfx.getBalance.request(
    '0x0000000000000000000000000000000000000000',
    'latest_state',
    callback
));
 
await batchRequest.execute();

ProviderDetector

Checks if an provider is given from the environment (Mist, MetaMask) and returns the provider.

import {ProviderDetector} from 'conflux-web-providers';
 
const givenProvider = ProviderDetector.detect();

ProviderResolver

The ProviderResolver resolves an url or an given provider object to the correct provider class. Because of the resolves does conflux-web has internally just one provider interface and we have no direct dependency to third party providers.

import {ProviderResolver} 'conflux-web-providers';
 
const socketProviderAdapter = new ProviderResolver().resolve('ws://localhost:8546');

Types

All the typescript typings are placed in the types folder.

Readme

Keywords

none

Package Sidebar

Install

npm i conflux-web-providers

Weekly Downloads

7

Version

1.36.7-alpha.0

License

LGPL-3.0

Unpacked Size

182 kB

Total Files

7

Last publish

Collaborators

  • wangdayong228
  • pana
  • ypliu
  • geekberry