Commit graph

39 commits

Author SHA1 Message Date
Jeffrey Picard 711c4b4b7b
WIP: Json rpc federation, search/getclaimbyid, and shutdown (#76)
* Cleanup shutdown and peers subscribe

this has errors currently, need to figure out data race

* fixed data race finally....

* getclaimbyid and search

* hook jsonrpc peers subcribe into current federation

* cleanup some peers stuff

* remove commented code

* tie into session manager in jsonrpc peers subscribe

* use int for port args

* cleanup and fix a bunch of compiler warnings

* use logrus everywhere

* cleanup test
2022-12-07 11:01:36 -05:00
Jonathan Moody 317cdf7129
WIP: blockchain.transaction.yyy JSON RPC implementations (#78)
* Partial blockchain.transaction.yyy RPC implementations.

* Register RPC service object.

* Move session manager start/stop to a better place.

* Attempt to fill in the details of transaction.get_batch,
including merkle path.

* Correct interpretation of DBStateValue Genesis hash.

* Convert Args.Port to int and validate. Run UDP ping server on JSONRPCPort too.

* Add BlockHeader to HeightHash notification.

* Limit session-based JSON RPC service to IPv4.
Client not ready for IPv6.

* Adapt to new HeightHash struct.

* Fine tune JSON RPC handlers and types to match lbry-sdk expectations.
Implement UnmarshalJSON()/MarshalJSON() for several types.

* Add more special handling of DBStateValue.Genesis hash.

* Set IncludeStop=false generally to avoid returning extra rows.
Other misc fixes.
2022-12-06 16:14:28 -05:00
Jeffrey Picard cd7f20a461
Server endpoints goroutine refactor (#69)
* server.xxx endpoints

Additional server endpoints in jsonrpc and also some refactoring

* server.banner

* more endpoints

* use lbry.go stop pattern

* set genesis hash properly

* updates and refactors

* remove shutdowncalled and itmut

* remove OpenIterators

* remove shutdown and done channels from db and use stop group

* currently broken, incorporated stop groups into the session manager

* set the rest of the default args for tests

* add default json rpc http port and cleanup

* tests for new jsonrpc endpoints

* cleanup and add manage goroutine to stopper pattern

* cleanup

* NewDebug

* asdf

* fix
2022-10-25 08:48:13 +03:00
Jeffrey Picard 8eb7841600
little fixes for debugging and shutdown (#67) 2022-10-05 06:24:42 +03:00
Jonathan Moody 50f7e91ead Infer chain (mainnet, testnet3, regtest) based on DBStateValue.
Correct typo DDVersion -> DBVersion. Misc logging improvements.
2022-09-07 14:32:34 -05:00
Jeffrey Picard 9403d84a83
WIP: Resolve json rpc (#57)
* jsonrpc

* update readme for open file limits

* add CGO flags to readme

* remove uneeded logging

* don't start jsonrpc server in unit tests

* cleanup and add args for json rpc

* correct rpc default port

* remove unused test_rpc.sh script

Co-authored-by: Ubuntu <ubuntu@ns5010184.ip-15-235-15.net>
2022-09-07 21:36:07 +03:00
Jeffrey Picard b9f7d595bd
Herald.go (#47)
* switch herald to herald.go

* update ci/cd stuff

* fix issues with binary name

* we're no longer building dynamically, so turn CGO back on, and fix names

* update package names in proto files
2022-08-09 14:43:01 +03:00
Jeffrey Picard b2dd70bc7c
Jeffreypicard/feature/move to herald (#37)
* changes for repo move

* Go back to protobuf 1.27.1, update go to 1.18

* update readme for new rocksdb version
2022-07-11 20:31:27 +03:00
Jeffrey Picard 28a299efa8
rocksdb (#29)
* Initial rocksdb commit

Basic reading from rocksdb works

* Try github action thing

* try local dockerfile

* asdf

* qwer

* asdf

* Try adding test db with git-lfs

* update action

* cleanup

* Don't hardcode stop on read

* Progress of reading rocksdb

* fixes and arg test

* asdf

* Fix rocksdb iterator and tests

* update script

* asdf

* Better iterator. Need to implement a lot of keys next, and tests, maybe
tests needed.

* asdf

* asdf

* asdf

* Implementation, testing, and cleanup.

Implemented more prefixes. Figured out a good test that should work for
all prefixes. Removed binary databases so we can just store human
readable csv files.

* more tests, prefixes and small refactor

* Another prefix

* EffectiveAmount

* ActiveAmount

* ActivatedClaimAndSupport

* PendingActivation

* ClaimTakeover

* ClaimExpiration

* SupportToClaim

* ClaimToSupport

* Fix bug with variable length keys

* ChannelToClaim

* ClaimToChannel

* ClaimShortID

* TXOToClaim

* ClaimToTXO

* BlockHeader

* BlockHash

* Undo

* HashXHistory

* Tx and big refactor

* rest the the keys

* Refactor and starting to add resolve

* asdf

* Refactor tests and add column families

* changes

* more work on implementing resolve

* code cleanup, function tests

* small code refactoring

* start building pieces of the test data set for full resolve.

* Export constant, add test

* another test

* TestGetTxHash

* more tests

* more tests

* More tests

* Refactor db functions into three files

* added slice backed stack, need to fix tests

* fix some issues with test suite

* some cleanup and adding arguments and db load / refresh to server command

* fix some bugs, start using logrus for leveled logging, upgrade to go 1.17, run go mod tidy

* logrus, protobuf updates, resolve grpc endpoint

* don't run integration test with unit tests

* signal handling and cleanup functions

* signal handling code files

* Unit tests for db stack

* reorganize bisect function so we lock it properly

* fix txcounts loading

* cleanup some logic around iterators and fix a bug where I was running two detect changes threads

* add some metrics

* cleanup

* blocking and filtering implemented

* add params for blocking and filtering channels and streams

* updates and fixes for integration tests

* use newer version of lbry.go when possible

* Add height endpoint and move string functions internal

* remove gitattributes, unused

* some cleanup

* more cleanup / refactor. almost ready for another review

* More cleanup

* use chainhash.Hash types from lbcd where appropriate

* update github action to go-1.17.8

* update go version needed

* trying to fix these builds

* cleanup

* trying to fix memory leak

* fix memory leak (iterator never finished so cleanup didn't run)

* changes per code review

* remove lbry.go v2

* rename sort.go search.go

* fix test
2022-04-29 11:04:01 -04:00
Jeffrey Picard 283686ecac Fix startup flags 2021-12-06 11:32:45 -05:00
Jeffrey Picard 914d2bfc61 Rework federation to be synchronous, and add tests 2021-10-30 01:33:55 -04:00
Jeffrey Picard 5387aeeebe Most of federation is written, need to finish udp and test
Cleanup, more reorg, more arguments, started adding tests
Comments and another test
Simplify writing of peers and add unit test
2021-10-29 16:56:36 -04:00
Jeffrey Picard a6d47e662a Don't swallow error, cachettl and refresh delta as params 2021-10-04 18:04:26 -04:00
Jeffrey Picard 4f7d3b20c8 cleanup and formatting 2021-09-21 14:02:09 -04:00
Jeffrey Picard fdbd7ec509 proto fixes and cleanup 2021-09-18 13:36:49 -04:00
Jeffrey Picard 81c3de3bfd Merge remote-tracking branch 'origin/master' into prometheus-and-versioning 2021-09-18 13:19:47 -04:00
Jeffrey Picard 9c89907bb8 versioning and metrics 2021-09-18 12:06:56 -04:00
Victor Shyba b4782ce6ac add --debug to show queries and error details 2021-08-13 18:36:43 -03:00
Victor Shyba d45f215789 field changes 2021-08-12 04:19:25 -03:00
Victor Shyba fb161ee6f5 improve help strings 2021-08-11 01:46:21 -03:00
Victor Shyba d2d17bee3b specify index, remove --dev 2021-08-11 00:39:37 -03:00
Jeffrey Picard 9498257c69 Use util functions from lbry.go 2021-06-28 13:54:49 -04:00
Jeffrey Picard 3f64655a26 Updates from review feedback 2021-06-18 00:01:47 -04:00
Jeffrey Picard dc71fb1a99 Fix es host prefix 2021-06-17 11:38:27 -04:00
Jeffrey Picard c70467335b Try adding github action 2021-06-16 19:42:11 -04:00
Jeffrey Picard 4280edc465 cleanup and updates 2021-06-09 20:04:06 -04:00
Jeffrey Picard 944496b076 Add dockerfile and docker-compose with es 2021-06-04 12:38:17 -04:00
Jeffrey Picard b557bf8237 Implementing url resolving server side 2021-06-04 01:56:50 -04:00
Jeffrey Picard 8a995557f7 More fixes / supported fields 2021-05-31 22:19:10 -04:00
Jeffrey Picard d7906e9a1c Bug fixes, and use Bool/Int32 values 2021-05-31 14:53:08 -04:00
Jeffrey Picard 0b57dceabd Add source and normalization, remove authentication 2021-05-30 21:34:57 -04:00
Jeffrey Picard 092495b2de Handle name param and change flag parsing. 2021-05-24 23:28:43 -04:00
Jeffrey Picard 4ca5f168d9 Added port, username and password options to client and server. 2021-05-24 20:09:28 -04:00
Jeffrey Picard e2d71261dd more features 2021-05-18 06:02:55 -04:00
Jeffrey Picard a671683fe8 Add support for more fields 2021-05-15 23:13:14 -04:00
Jeffrey Picard 2b6f5c4aed Start adding support for more query types 2021-05-13 16:06:19 -04:00
Alex Grintsvayg 3ca27f3740
very basic elastic search works 2021-04-19 15:28:57 -04:00
Alex Grintsvayg a5f235c4f5
we're doing grpc 2021-03-18 17:24:48 -04:00
Alex Grintsvayg 04ea7b5f0e
it begins 2021-03-18 16:12:48 -04:00