* 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.
* 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
* 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
* 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
Got the UDPServer ping/pong protocol working internally, only tested
against other running go hub servers. Should in theory work with
python server and clients, but still need to test that.
Also switched to serving udp on the same port as grpc, and taking that
into account when pinging other hubs with udp.
Unit test for udp ip address lookup.