Meter Docs
Search
K
Links

Meterify API Documentation

The meterify package is a wrapper to house all Meter-related modules, and depends on the web3.js library. If you are writing applications or scripts executing in Node.js or a browser environment, you should use Meterify.
Property
Type
Description
web3Instance
object
A web3 instance
host
string
The Meter host URL (and port, if applicable)
timeout
number
Request timeout value
Parameters of the meterify return object
Property
Type
Description
BatchRequest
function
Sets a RequestManager object and initiates batch requests
currentProvider
function
Get or set the current provider.
timeout
number
Request timeout value
eth
object
An Eth object (see: eth (insert link))
extension
extension
givenProvider
object
Return the given provider object.
providers
object
A list of providers.
provider
object
The current provider object.
_requestManager
object
A RequestManager object.
setProvider
function
Set the current provider.
utils
object
A utils object (see: (insert link))

Example

This code...
const meter = require("meterify").meterify;
const Web3 = require("web3");
const meterify = meter(new Web3(), "https://testnet.meter.io");
...returns an object:
{
eth: {
_requestManager: RequestManager,
givenProvider: MetamaskInpageProvider,
providers: {},
_provider: MeterProvider,
},
givenProvider: {
mux: ObjectMultiplex,
publicConfigStore: ObservableStore,
rpcEngine: RpcEngine,
send: ƒ
},
providers: {
WebsocketProvider: ƒ,
HttpProvider: ƒ,
IpcProvider: ƒ
},
utils: {
_fireError: ƒ,
_jsonInterfaceMethodToString: ƒ,
_flattenTypes: ƒ,
randomHex: ƒ,
_: ƒ,
},
version: "1.0.0-beta.37",
_provider: {
_events: Events,
_eventsCount: 1,
RESTHost: "https://test.meter.io",
WSHost: "wss://wstest.meter.io",
timeout: 0,
},
_requestManager: {
provider: MeterProvider,
providers: {},
subscriptions: {}
}
...
}

Notes on meterify and web3

The RESTful API of Meter differs from Ethereum's JSON-RPC, and there are some methods in web3 are not supported by meterify.
Supported Web3 Methods
web3 instance ├── eth │ ├── getBlockNumber │ ├── getBalance │ ├── getStorageAt │ ├── getCode │ ├── getBlock │ ├── getTransaction │ ├── getTransactionReceipt │ ├── sendTransaction │ ├── sendSignedTransaction │ ├── call │ ├── estimateGas │ ├── getPastLogs │ ├── subscribe │ ├── clearSubscriptions │ ├── getEnergy │ ├── getChainTag │ ├── getBlockRef │ ├── accounts │ └── Contract │ ├── Constructor(new Contract()) │ ├── clone │ ├── deploy │ ├── methods │ ├── methods.myMethod.call │ ├── methods.myMethod.send │ ├── methods.myMethod.estimateGas │ ├── methods.myMethod.encodeABI │ ├── events │ ├── once │ ├── events.myEvent │ ├── events.allEvents │ └── getPastEvents └── utils

MODULES

eth

For meterify.eth see the eth reference documentation.

utils

For meterify.utils see the utils reference documentation.

module.options

A module does provide several options for configuring the transaction confirmation workflow, or for defining default values.
For the currently available option properties on a module: see the options reference documentation.