Validate Ethereum IPLD objects in a Postgres database
Go to file
2022-03-02 18:18:39 -05:00
cmd Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
environments Add unit test. 2022-01-18 22:44:38 +05:30
pkg/validator Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
scripts Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
test Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
validator_test Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
docker-compose.yml Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
go.mod Update go.mod. 2022-01-18 22:48:59 +05:30
go.sum Implement ethereum state validator. 2022-01-17 19:10:13 +05:30
main.go Implement ethereum state validator. 2022-01-17 19:10:13 +05:30
Makefile Update the readme and cleanup the make file 2022-03-02 18:09:01 -05:00
README.md Update README 2022-03-02 18:18:39 -05:00

Validator-README

Overview

This repository contains the validator. The purpose of the validator is to ensure that the data in the Core Postgres database match the data on the blockchain.

Intention for the Validator

The perfect scenario for the validator is as follows:

  1. The validator will have the capacity to perform historical checks for the Core Postgres database. Users can contain these historical checks to specified configurations (block range).
  2. The validator will validate a certain number of trailing blocks, t, trailing the head, n. Therefore the validator will constantly perform real-time validation starting at n and ending at n - t.
  3. The validator validates the IPLD blocks in the Core Database; it will update the core database to indicate that the validator validated it.

Edge Cases

We must consider the following edge cases for the validator.

  • There are three different data types that the validator must account for.

Instructions for Testing

To run the test, do the following:

  1. Make sure GOPATH is set in your ~/.bashrc or ~/.bash_profile: export GOPATH=$(go env GOPATH)
  2. ./scripts/run_integration_test.sh