nim-json-rpc/README.md
2018-05-27 22:03:25 -07:00

52 lines
1.3 KiB
Markdown

**Nim-eth-rpc**
[![Build Status (Travis)](https://img.shields.io/travis/status-im/nim-eth-rpc/master.svg?label=Linux%20/%20macOS "Linux/macOS build status (Travis)")](https://travis-ci.org/status-im/nim-eth-rpc)
[![Windows build status (Appveyor)](https://img.shields.io/appveyor/ci/jarradh/nim-eth-rpc/master.svg?label=Windows "Windows build status (Appveyor)")](https://ci.appveyor.com/project/jarradh/nim-eth-rpc)
Nim-eth-rpc is designed to provide remote procedure calls to the Nimbus Ethereum research project.
# Installation
`git clone https://github.com/status-im/nim-eth-rpc`
## Requirements
* Nim 17.3 and up
# Usage
## Server
```nim
import rpcserver, asyncdispatch
when isMainModule:
var srv = newRpcServer("")
asyncCheck srv.serve()
runForever()
```
## Client
```nim
import rpcclient, asyncdispatch, json
proc main {.async.} =
var client = newRpcClient()
await client.connect("localhost", Port(8545))
let response = waitFor client.web3_clientVersion(newJNull())
echo response.result.pretty
waitFor main()
```
# Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
# License
[MIT](https://choosealicense.com/licenses/mit/)