erigon-pulse/cmd/rpcdaemon
Alex Sharov 15096f273d
Remove ctx from Open. Stop goroutines on Close. (#650)
* remove ctx from MustOpen

* remove ctx from Open. Stop goroutines on Close.

* remove ctx from Open. Stop goroutines on Close.

* remove ctx from remote open (we have DialTimeout field to manage connection timeouts)

* enable RawReads and add native implementation of Get/Has methods
2020-06-12 10:31:21 +01:00
..
commands Remove ctx from Open. Stop goroutines on Close. (#650) 2020-06-12 10:31:21 +01:00
.gitignore ignore *.http files - I using them to store http requests 2019-12-03 09:07:33 +07:00
main.go Use local db in analytics (#308) 2020-01-15 19:47:13 +07:00
Readme.md Readme.md 2019-12-03 09:07:33 +07:00

Getting Started

In order to build and run turbo-geth node together with RPC daemon, you need to do the following:

  1. Clone turbo-geth repo
  2. Build it by running make
  3. Start it (it will start syncing to the mainnet) like this:
./build/bin/geth --remote-db-listen-addr localhost:9999
  1. Look out for this in the console/log file:
INFO [11-30|18:34:12.687] Remote DB interface listening on         address=localhost:9999
  1. In another terminal/tab, build RPC daemon:
make rpcdaemon
  1. Run it:
./build/bin/rpcdaemon --rpcapi eth

By default, it will connect to the turbo-geth node on the localhost:9999, but this can be changed via command line parameters. Note that it does not matter in which order you start these two processes, RPC daemon will only try to connect to turbo-geth node when serving its first RPC request, and then it will reconnect if connection is lost (for example, if you restart turbo-geth) 7. Try eth_blockNumber call. In another console/tab, use curl to make RPC call:

curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber", "params": [], "id":1}' localhost:854
  1. It should return something like this (depending on how far your turbo-geth node has synced):
{"jsonrpc":"2.0","id":1,"result":823909}