web3-providers-http-proxy

0.8.3 • Public • Published

web3-provider-proxy

An http provider port from web3, which can proxy eth RPC requests to Conflux Core RPC service. This package use json-rpc-engine to convert RPC requests and responses.

How to use

Install through npm

$ npm install web3-providers-http-proxy

JsonRpcProxy

  • support websocket and http url
const JsonRpcProxy = require('web3-providers-http-proxy');
const URL = 'https://test.confluxrpc.com';
const proxy = new JsonRpcProxy(URL);
// then use proxy as an provider

See tests for usage details.

ETH-to-CFX what has been bridged

Tags

  • earliest -> earliest
  • latest -> latest_state

Address

  • hex40 to base32

Supported RPC methods

const ETH_TO_CFX_METHOD_MAPPER = {
  eth_blockNumber: 'cfx_epochNumber',
  eth_sendRawTransaction: 'cfx_sendRawTransaction',
  eth_sendTransaction: 'cfx_sendTransaction',
  eth_getBalance: 'cfx_getBalance',
  eth_call: 'cfx_call',
  eth_estimateGas: 'cfx_estimateGasAndCollateral',
  eth_gasPrice: 'cfx_gasPrice',
  eth_accounts: 'accounts',
  eth_getTransactionCount: 'cfx_getNextNonce',
  eth_getCode: 'cfx_getCode',
  eth_getStorageAt: 'cfx_getStorageAt',
  eth_getBlockByHash: 'cfx_getBlockByHash',
  eth_getBlockByNumber: 'cfx_getBlockByEpochNumber',
  eth_getTransactionByHash: 'cfx_getTransactionByHash',
  web3_clientVersion: 'cfx_clientVersion',
  eth_chainId: 'cfx_getStatus',
  net_version: 'cfx_getStatus',   // networkId
  eth_getTransactionReceipt: 'cfx_getTransactionReceipt',
  eth_getLogs: 'cfx_getLogs',
  eth_getBlockTransactionCountByHash: 'cfx_getBlockByHash',
  eth_getBlockTransactionCountByNumber: 'cfx_getBlockByEpochNumber',
  eth_getTransactionByBlockHashAndIndex: 'cfx_getBlockByHash',
  eth_getTransactionByBlockNumberAndIndex: 'cfx_getBlockByEpochNumber',
  eth_coinbase: null,
  eth_sign: 'sign',
  eth_signTransaction: 'cfx_signTransaction',
  web3_sha3: 'cfx_sha3',
};

References

  1. Conflux RPC doc
  2. Ethereum RPC doc
  3. Ethereum open-RPC

Readme

Keywords

none

Package Sidebar

Install

npm i web3-providers-http-proxy

Weekly Downloads

5

Version

0.8.3

License

ISC

Unpacked Size

85.1 kB

Total Files

38

Last publish

Collaborators

  • pana