Rob Mulholand
d5c2ab33fc
Sync only missing blocks on cold import
...
= Add eth_node_fingerprint to block that can be imitated by both hot and cold imports
- Only sync missing blocks (blocks that are missing or don't share a fingerprint) on cold import
- Set block is_final status after import
2018-05-07 16:38:04 -05:00
Rob Mulholand
5a5e08bd13
Get head block number
...
- Allows us to refuse to sync past current head
- Creates the opportunity to add a flag for syncing all blocks
2018-05-04 11:03:50 -05:00
Rob Mulholand
5f6bf32ec1
Add cold import script
2018-05-04 10:54:00 -05:00
Rob Mulholand
462f94d84a
Associate receipts with blocks instead of transactions
...
- Allows us to fetch receipts by block and persist even when
associated transaction is unknown. (The associated transaction
can still be derived from the tx_hash column at query time, but
is an expensive operation to require for inserts).
2018-05-04 10:52:28 -05:00
Matt K
8a9395819c
Get transactions ( #45 )
...
* Make transactions requests in parallel
* Update transaction error handling
2018-03-27 16:06:12 -05:00
Matt Krump
88210e436a
Remove test and travis deps on private dev network
2018-03-22 10:15:18 -05:00
Matt Krump
1b4e57a5b4
Rename node table and node column
2018-03-21 13:24:13 -05:00
Matt Krump
a11fb709b2
Update watcher to use blockchain instead of contract data fetcher
2018-03-12 16:19:06 -05:00
Matt Krump
76dad443ec
Update FetchContractData to allow optional args
2018-03-12 14:21:34 -05:00
Matt Krump
5a2bb04670
Remove unused contract methods
2018-03-12 14:21:34 -05:00
Matt K
5a652190d9
Allow Parity as ingest node ( #36 )
...
* Upgrade go-ethereum to v1.8
* Add Node Info for parity nodes
* Upgrade start_private_blockchain to use v1.8
2018-03-07 15:29:21 -06:00
Matt Krump
06f78e0083
Handle events
...
- Adds interfaces for developers to build handlers that update data in
response to log events
- Resolves #29
2018-03-05 10:01:50 -06:00
Matt K
ed907535e3
Separate DB access into several repos ( #28 )
...
* Separate files for InMemory
* Start using separate repos for collaborating objects
* Before Updating schema
* Separate various repos
2018-02-12 10:54:05 -06:00
Matt K
605b0a96ae
Add graphql server ( #27 )
...
* Add graphql server
* Update Makefile
* Update log_filters constraint
* Add GetLogFilter to repo
* Update travis (use Makefile, go fmt, go vet)
* Add logFilter schema and resolvers
* Add GetWatchedEvent to watched_events_repo
* Add watchedEventLog schema and resolvers
2018-02-08 10:12:08 -06:00
Matt K
d5852654bb
Update table columns ( #26 )
...
* Update block table names
* Update transaction table names
2018-02-02 16:12:14 -06:00
Matt K
aea9c7b5e2
Separate repositories ( #25 )
...
* Separate Repository into multiple Repositories
* Use struct scan for transactions
* Use struct scan for blocks
* Remove unused block repo methods
* Update naming
* Rename / Cleanup repository related fields
2018-02-02 15:53:16 -06:00
Matt K
3863bcb614
Events ( #24 )
...
* Add watched events repo
2018-02-02 13:58:59 -06:00
Matt Krump
aac2239097
Merge old private repo into vulcanize
2018-01-25 18:08:26 -06:00
Matt K
c00b8a5a98
Add Filters ( #133 )
...
* Add LogFilter struct
* Add log_filters table
* Add view for events watching
* Add cmd line "add_filter" to mimic eventual endpoint
* Allow multiple filters in config
2018-01-23 12:43:35 -06:00
Matt K
3f06c7374b
Update transaction value field ( #132 )
...
* Add test for converting big.Int
* Use string as internal representation of transaction value
2018-01-16 14:25:33 -06:00
Matt Krump
6583ce72b8
Remove log_uc
...
* Logs now are attached to receipt, so removing block + index unique
constraint
2018-01-16 09:44:46 -06:00
Matt Krump
82c39a2c1f
Add fk constraint on logs
2018-01-16 08:58:11 -06:00
Matt Krump
9ee13e715d
Add topics type
2018-01-15 14:49:29 -06:00
Matt Krump
50f00b80c1
Lowercase log address
2018-01-15 14:46:48 -06:00
Matt Krump
431be46005
Add store logs with receipts
2018-01-15 14:46:32 -06:00
Matt K
a9bea4f492
Allow for multiple Geth nodes ( #128 )
2018-01-10 15:54:36 -06:00
Matt K
70cfa20c68
Watch contact updates ( #127 )
...
* Downcase all arguments for contact watching
* ABI retrieval from test networks
2018-01-08 15:59:47 -06:00
Matt K
14e1fc4213
Remove admin api dependency ( #126 )
2018-01-08 14:19:42 -06:00
Matt K
54c4f0c2fe
Add back infura related tests ( #123 )
2018-01-08 11:41:01 -06:00
ee4f7c710a
replace '8thlight' with 'vulcanize'
2018-01-06 15:31:53 -05:00
Matt K
6decf0b54b
Remove pubsub and replace w/ polling head of chain ( #122 )
...
* Rename geth package structs to not be prefaced with package name
* No longer need to dump schema since Travis uses migrate
* Rearrange history package
* Removed double request for receipt from block rewards
* Remove Listener + Observers and Replace w/ Polling Head
* Potential Short term Issue w/ Infura (ignore these tests for now)
2018-01-05 11:55:00 -06:00
Matt K
4fabe3e917
Add receipts ( #119 )
...
* Conversion between Geth Receipt and core.Receipt
* Add receipt to DB
* Insert receipts with transactions
* Update Travis CI to use dep for dependencies
2018-01-03 11:23:43 -06:00
Matt Krump
b6ed4464c7
Update populate blocks to use blockchain rather than db to determine blocks to fill
2018-01-02 13:35:52 -06:00
Matt Krump
351d315a4c
Add tx fields
2017-12-28 17:23:56 -06:00
Matt Krump
8b024bade9
Add block rewards to db
2017-12-28 11:58:26 -06:00
Matt Krump
3ca4370221
Add Block + Uncle Rewards calculation
2017-12-28 09:46:14 -06:00
Matt Krump
cb4e745464
Add extra data field
2017-12-27 12:10:08 -06:00
Matt Krump
c992186846
Add Block Miner
2017-12-27 10:50:56 -06:00
Matt K
7e5e12f488
Backfill/listen for contract logs ( #113 )
2017-12-22 11:42:35 -06:00
Matt K
a786241c8c
Add indices for tx_to and tx_from ( #112 )
2017-12-20 16:58:37 -06:00
Matt K
24bc83a448
Block categorization ( #110 )
...
* Add block categorization (is_final=)
* Add godo task for vulcanizeDB (Example of how everything could work together)
* Add unique constraint on block_number and node
* Add index on block_id for transactions_table
* Add node_id index on blocks table
* Sort transactions returned from FindBlock by tx_hash
* lowercase tx_to, tx_from like etherscan
2017-12-20 14:06:22 -06:00
Matt K
266c9587c8
Canonical blocks ( #108 )
...
* Update Block w/ newest Block
* Add cascading delete to blocks and transactions tables
* Add handling for new conflicting blocks
* Command line version of sliding window n behind HEAD
2017-12-19 14:14:41 -06:00
Matt Krump
84e77f259d
Use most recent blockNumber when blockNumber parame is nil
2017-12-14 10:15:36 -06:00
Matt K
0e837e2d03
Refactoring ( #101 )
...
* Make naming consistent for watched_contracts
* Update FindContract and FindBlockByNumber to return errors rather than nil
2017-12-13 10:51:11 -06:00
Matt K
a68f277066
Save Logs to DB ( #100 )
...
* Save logs to database
* Save multiple logs to db
* Add block number parameter to `FindLogs`
2017-12-12 15:55:26 -06:00
Matt K
5e64283a12
Get logs for a contract ( #99 )
...
* Add ability to fetch logs for a contract and a block
* Test contract related code against Infura, so can run on Travis
* Add godo task for getLogs
2017-12-11 15:08:00 -06:00
Matt K
921bde1089
Update BlockChain to record NodeInfo ( #95 )
2017-12-07 13:32:16 -06:00
Matt K
18163f970e
Get ABI via etherscan API ( #96 )
...
- Added ABI request
- Add unique constraint on contract hash for watched contracts
2017-12-07 09:58:06 -06:00
Eric Meyer
0439791381
Rename WatchedContract to Contract
2017-12-05 09:39:58 -06:00
Eric Meyer
3a2e7e0cc1
Update Blockchain interface to use WatchedContract instead of Contract
2017-12-04 17:04:06 -06:00