erigon-pulse/cmd/restapi
ledgerwatch 5ea590c18e
State cache switching writes to reads during commit (#1368)
* State cache init

* More code

* Fix lint

* More tests

* More tests

* More tests

* Fix test

* Transformations

* remove writeQueue, before fixing the tests

* Fix tests

* Add more tests, incarnation to the code items

* Fix lint

* Fix lint

* Remove shards prototype, add incarnation to the state reader code

* Clean up and replace cache in call_traces stage

* fix flaky test

* Save changes

* Readers to use addrHash, writes - addresses

* Fix lint

* Fix lint

* More accurate tracking of size

* Optimise for smaller write batches

* Attempt to integrate state cache into Execution stage

* cacheSize to default flags

* Print correct cache sizes and batch sizes

* cacheSize in the integration

* Fix tests

* Fix lint

* Remove print

* Fix exec stage

* Fix test

* Refresh sequence on write

* No double increment

* heap.Remove

* Try to fix alignment

* Refactoring, adding hashItems

* More changes

* Fix compile errors

* Fix lint

* Wrapping cached reader

* Wrap writer into cached writer

* Turn state cache off by default

* Fix plain state writer

* Fix for code/storage mixup

* Fix tests

* Fix clique test

* Better fix for the tests

* Add test and fix some more

* Fix compile error|

* More functions

* Fixes

* Fix for the tests

* sepatate DeletedFlag and AbsentFlag

* Minor fixes

* Test refactoring

* More changes

* Fix some tests

* More test fixes

* More test fixes

* Fix lint

* Move blockchain_test to be able to use stagedsync

* More fixes

* Fixes and cleanup

* Fix tests in turbo/stages

* Fix lint

* Fix lint

* Intemediate

* Fix tests

* Intemediate

* More fixes

* Compilation fixes

* More fixes

* Fix compile errors

* More test fixes

* More fixes

* More test fixes

* Fix compile error

* Fixes

* Fix

* Fix

* More fixes

* Fixes

* More fixes and cleanup

* Further fix

* Check gas used and bloom with header

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2020-12-08 09:44:29 +00:00
..
apis State cache switching writes to reads during commit (#1368) 2020-12-08 09:44:29 +00:00
commands restapi_to_follog_geth_cli_variables (#993) 2020-08-28 11:27:56 +01:00
rest lmdb_readonly_dont_create_folder (#1293) 2020-10-25 08:39:09 +00:00
main.go Rpcdaemon as lib (#940) 2020-08-19 12:46:20 +01:00
README.md Docker compose (#841) 2020-08-01 09:39:04 +02:00

Turbo-Geth Rest API

Build

make restapi

Running

  • TurboGeth with --private.api.addr: ./build/bin/geth --private.api.addr="localhost:9999"
  • Restapi: ./build/bin/restapi (Default Port: 8080)

API

  • /api/v1/remote-db/: gives remote-db url
  • /api/v1/accounts/:accountID: gives account data
    • accountID is account address
    • Reponse:
{

    "balance":"BALANCE",
    "code_hash":"HASH",
    "implementation":
        {
            "incarnation":NUMBER
        },
        "nonce":NUMBER,
        "root_hash":"HASH"      
}
  • /api/v1/storage/
    • gives the storage
    • Response:
[
    {"prefix": "Storage Prefix","value": "Value"},
    ...
]
  • /api/v1/retrace/:chain/:number
    • chain is the name of the chain(mainnet, testnet, goerli and rinkeby)
    • number is block number (e.g 98345)
    • extract changeSets and readSets for each block
    • Response:
[
    {
        "storage": {
            "reads": [READ, ...],
            "writes": [WRITE, ...]
        },
        "accounts": {
            "reads": [READ, ...],
            "writes": [WRITE, ...]
        }
    }
]
  • /api/v1/intermediate-hash/
    • extract intermediate hashes
    • Response:
[
    {"prefix": "Prefix","value": "Value"},
    ...
]