mirror of
https://github.com/status-im/nim-json-rpc.git
synced 2025-02-24 18:28:10 +00:00
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
**Nim-eth-rpc**
|
|
|
|
[")](https://travis-ci.org/status-im/nim-eth-rpc)
|
|
[")](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/)
|