update readme
This commit is contained in:
		
							parent
							
								
									b82b8f5139
								
							
						
					
					
						commit
						18ba50ad67
					
				
							
								
								
									
										42
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								README.md
									
									
									
									
									
								
							| @ -2,14 +2,33 @@ | |||||||
| 
 | 
 | ||||||
| Uses [pg-ipfs-ethdb](https://github.com/vulcanize/pg-ipfs-ethdb) to validate completeness of Ethereum state data on PG-IPFS | Uses [pg-ipfs-ethdb](https://github.com/vulcanize/pg-ipfs-ethdb) to validate completeness of Ethereum state data on PG-IPFS | ||||||
| 
 | 
 | ||||||
|  | ## Background | ||||||
|  | 
 | ||||||
|  | State data on Ethereum is stored in the form of [Modified Merkle Patricia Tries](https://eth.wiki/en/fundamentals/patricia-tree). | ||||||
|  | To prove the existence of a specific node in an MMPT with a known root hash, one provides a list of all of the nodes along the path descending | ||||||
|  | from the root node to the node in question. To validate the completeness of a state database- to confirm every node for a state and/or storage trie(s) is present | ||||||
|  | in a database- requires traversing the entire trie (or linked set of tries) and confirming the presence of every node in the database. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ## Usage | ## Usage | ||||||
| 
 | 
 | ||||||
| Run |  | ||||||
| 
 | 
 | ||||||
| `./eth-ipfs-state-validator validateTrie --root={state root string} --config={path to .toml config file} ` | `full` validates completeness of the entire state corresponding to a provided state root, including both state and storage tries | ||||||
| 
 | 
 | ||||||
| With `root` as the state root hash we want to validate the corresponding trie for. | `./eth-ipfs-state-validator validateTrie --config={path to db config} --type=full --state-root={state root hex string}` | ||||||
| The config file holds the parameters for connecting to the IPFS-backing Postgres database. | 
 | ||||||
|  | 
 | ||||||
|  | `state` validates completeness of the state trie corresponding to a provided state root, excluding the storage tries | ||||||
|  | 
 | ||||||
|  | `./eth-ipfs-state-validator validateTrie --config={path to db config} --type=state --state-root={state root hex string}` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | `storage` validates completeness of only the storage trie corresponding to a provided storage root and contract address | ||||||
|  | 
 | ||||||
|  | `./eth-ipfs-state-validator validateTrie --config={path to db config} --type=storage --storage-root={state root hex string} --address={contract address hex string}` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The config file holds the parameters for connecting to an [IPFS-backing Postgres database](https://github.com/ipfs/go-ds-sql). | ||||||
| 
 | 
 | ||||||
| ```toml | ```toml | ||||||
| [database] | [database] | ||||||
| @ -18,4 +37,17 @@ The config file holds the parameters for connecting to the IPFS-backing Postgres | |||||||
|     user     = "postgres" |     user     = "postgres" | ||||||
|     password = "" |     password = "" | ||||||
|     port     = 5432 |     port     = 5432 | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | ## Maintainers | ||||||
|  | @vulcanize | ||||||
|  | @AFDudley | ||||||
|  | @i-norden | ||||||
|  | 
 | ||||||
|  | ## Contributing | ||||||
|  | Contributions are welcome! | ||||||
|  | 
 | ||||||
|  | VulcanizeDB follows the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/1/4/code-of-conduct). | ||||||
|  | 
 | ||||||
|  | ## License | ||||||
|  | [AGPL-3.0](LICENSE) © Vulcanize Inc | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user