开发者社区> 镜像站> NPM> nanoeth
nanoeth
Tiny RPC module to request methods on an ETH node
Last updated 4 months ago by emilbayes .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install nanoeth 
SYNC missed versions from official npm registry.

nanoeth

Tiny RPC module to request methods on an ETH node

npm install nanoeth

Usage

const NanoETH = require('nanoeth/ipc')

// pass in the ipc socket path
const eth = new NanoETH('/tmp/parity.sock')

// call methods
await eth.blockNumber()

// to close the underlying socket/rpc when all
// current requests are done do
await eth.end()

For a list of supported methods see https://wiki.parity.io/JSONRPC-eth-module.html

If you are using Parity you can also use the pubsub module, to subscribe to changes:

const unsubscribe = await eth.subscribe(eth.getBlockByNumber('latest', false), function (err, block) {
  if (err) return
  if (parseInt(block.timestamp) > Date.now() - 1000 * 60) return unsubscribe()

  console.log(block)
})

RPC providers

The following RPC providers are included

  • nanoeth/metamask
  • nanoeth/ipc
  • nanoeth/ws
  • nanoeth/http

API

const unlisten = await subscribe(req, listener)

Create a new pubsub subscription to a "Request". Requests are other method calls that have not yet been awaited. subscribe resolves once the subscription has been confirmed by the node. unlisten is a method that can be called to unsubscribe. listener is called with (err, data).

await eth.end()

End the client gracefully

await eth.destroy()

End the client forcefully

const bool = eth.destroyed

Flag whether the client has been destroyed

const accounts = await eth.accounts()

const height = await eth.blockNumber()

const data = await eth.call(obj, [from])

const id = await eth.chainId()

const addr = await eth.coinbase()

const gas = await eth.estimateGas(obj, [from])

const price = await eth.gasPrice()

const balance = await eth.getBalance(addr, [from])

const block = await eth.getBlockByHash(hash, [tx = false])

const block = await eth.getBlockByNumber(n, [tx = false])

const count = await eth.getBlockTransactionCountByHash(hash)

const count = await eth.getBlockTransactionCountByNumber(n)

const code = await eth.getCode(addr, [from])

const changes = await eth.getFilterChanges(id)

const logs = await eth.getFilterLogs(id)

const logs = await eth.getLogs(obj)

const bytes = await eth.getStorageAt(addr, pos, [from])

const tx = await eth.getTransactionByBlockHashAndIndex(hash, pos)

const tx = await eth.getTransactionByBlockNumberAndIndex(hash, pos)

const tx = await eth.getTransactionByHash(hash)

const count = await eth.getTransactionCount(addr, [from])

const receipt = await eth.getTransactionReceipt(hash)

const block = await eth.getUncleByBlockHashAndIndex(hash, pos)

const block = await eth.getUncleByBlockNumberAndIndex(n, pos)

const count = await eth.getUncleCountByBlockHash(hash)

const count = await eth.getUncleCountByBlockNumber(hash)

const work = await eth.getWork()

const rate = await eth.hashrate()

const bool = await eth.mining()

const id = await eth.newBlockFilter()

const id = await eth.newFilter(obj)

const id = await eth.newPendingTransactionFilter()

const version = await eth.protocolVersion()

const hash = await eth.sendRawTransaction(data)

const hash = await eth.sendTransaction(data)

const sig = await eth.sign(addr, data)

const raw = await eth.signTransaction(obj)

const success = await eth.submitHashrate(rate, id)

const success = await eth.submitWork(nonce, pow, mix)

const info = await eth.syncing()

const success = await eth.uninstallFilter(id)

License

MIT

Current Tags

  • 2.6.0                                ...           latest (4 months ago)

13 Versions

  • 2.6.0                                ...           4 months ago
  • 2.5.2                                ...           7 months ago
  • 2.5.1                                ...           7 months ago
  • 2.5.0                                ...           7 months ago
  • 2.4.1                                ...           7 months ago
  • 2.4.0                                ...           7 months ago
  • 2.3.0                                ...           8 months ago
  • 2.2.1                                ...           9 months ago
  • 2.2.0                                ...           9 months ago
  • 2.1.0                                ...           9 months ago
  • 2.0.1                                ...           10 months ago
  • 2.0.0                                ...           10 months ago
  • 1.0.0                                ...           10 months ago
Maintainers (2)
Downloads
Today 0
This Week 1
This Month 1
Last Day 1
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (0)
None