nim-json-rpc/README.md
2018-04-26 19:52:55 +01:00

49 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
### Requirements
* Nim 17.3 and up
`git clone https://github.com/status-im/nim-eth-rpc`
## 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/)