Jeffrey Picard
140c5392e5
fix
2022-10-24 14:41:03 +00:00
Jeffrey Picard
8cc5885339
asdf
2022-10-24 11:45:46 +00:00
Jeffrey Picard
89017483ac
NewDebug
2022-10-24 11:14:23 +00:00
Jeffrey Picard
418d4171b4
cleanup
2022-10-24 10:54:59 +00:00
Jeffrey Picard
ffaacc0985
cleanup and add manage goroutine to stopper pattern
2022-10-20 09:23:31 +00:00
Jeffrey Picard
67f0ae5e44
tests for new jsonrpc endpoints
2022-10-19 13:26:06 +00:00
Jeffrey Picard
d1ebe002ac
add default json rpc http port and cleanup
2022-10-17 18:36:27 +00:00
Jeffrey Picard
e79a798781
set the rest of the default args for tests
2022-10-17 14:52:40 +00:00
Jeffrey Picard
a198113f73
currently broken, incorporated stop groups into the session manager
2022-10-17 11:45:45 +00:00
Jeffrey Picard
31e91f67c8
remove shutdown and done channels from db and use stop group
2022-10-15 16:11:06 +00:00
Jeffrey Picard
1822fc4064
remove OpenIterators
2022-10-15 15:52:29 +00:00
Jeffrey Picard
c2624ba8fa
remove shutdowncalled and itmut
2022-10-15 15:11:56 +00:00
Jeffrey Picard
7679b96231
updates and refactors
2022-10-15 15:00:58 +00:00
Jeffrey Picard
77fee923cb
set genesis hash properly
2022-10-14 13:36:42 +00:00
Jeffrey Picard
dcbf09e781
use lbry.go stop pattern
2022-10-14 09:33:29 +00:00
Jeffrey Picard
5f2d330f76
more endpoints
2022-10-11 22:30:54 +00:00
Jeffrey Picard
698bc22360
server.banner
2022-10-11 14:29:51 +00:00
Jeffrey Picard
66961c1e3d
server.xxx endpoints
...
Additional server endpoints in jsonrpc and also some refactoring
2022-10-11 10:54:46 +00:00
Jeffrey Picard
8eb7841600
little fixes for debugging and shutdown ( #67 )
2022-10-05 06:24:42 +03:00
Jeffrey Picard
6d4b9b5e37
v0.2022.10.04.1
2022-10-04 20:52:47 +03:00
Jeffrey Picard
537b8c7ddd
integration testing scripts ( #64 )
...
* integration testing scripts
some scripts for integration testing and a docker file for an action.
Still need to figure out how to properly run a more realistic version
in ci.
* update
* changes
* db shutdown racecondition fix
* changes per pr
* changes per code review
* fix testing
* add shutdowncalled bool to db
2022-10-04 20:25:44 +03:00
Jonathan Moody
8fb3db8136
Add subscribe/unsubscribe RPCs. Add session, sessionManager, and serve JSON RPC (without HTTP). ( #66 )
...
* Move and rename BlockchainCodec, BlockchainCodecRequest.
These are not specifically "blockchain", rather they are
specific to how gorilla/rpc works.
* Move claimtrie-related service/handlers to jsonrpc_claimtrie.go.
* Pull out decode logic into named func newBlockHeaderElectrum().
* Rename BlockchainService -> BlockchainBlockService.
* Drop http.Request arg from handlers, and use RegisterTCPService().
* Implement GetStatus() to pull data from HashXStatus table.
* Make the service objects independent, so we don't have inheritance.
* Add core session/subscription logic (session.go).
Implement subsribe/unsubscribe handlers.
* Support both pure JSON and JSON-over-HTTP services.
Forward NotifierChan messages to sessionManager.
* Only assign default port (50001) if neither --json-rpc-port nor
--json-rpc-http-port are specified.
* Handle failures with goto instead of break. Update error logging.
* Add --max-sessions, --session-timeout args. Enforce max sessions.
* Changes to make session.go testable. Conn created with Pipe()
used in testing has no unique Addr.
* Add tests for headers, headers.subscribe, address.subscribe.
* HashXStatus, HashXMempoolStatus not populated by default. Fix GetStatus().
* Use time.Ticker object to drive management activity.
2022-10-04 17:05:06 +03:00
Jonathan Moody
979d0d16b6
Adjust EffectiveAmountValue to include ActivatedSupportSum. ( #61 )
...
Make use of this in GetEffectiveAmount() tests.
2022-09-16 18:03:15 +03:00
Jonathan Moody
7d24ff82bf
Merge pull request #55 from moodyjon/blockchain_rpc1
...
Add some blockchain RPC handlers and DB fetching routines
2022-09-14 10:23:34 -05:00
Jonathan Moody
86a287ec69
Skip TestUDPPing if production server is down.
2022-09-13 15:35:54 -05:00
Jonathan Moody
891f63fb5c
Update jsonrpc_blockchain_tests.go for new sample data.
2022-09-13 15:33:24 -05:00
Jonathan Moody
789974227f
Add sample data from test_variety_of_transactions_and_longish_history.
...
Rework tests to use the sample data.
2022-09-13 15:05:11 -05:00
Jonathan Moody
71e79c553e
One more RPC (get_server_height), and update comment
...
to include full RPC name.
2022-09-08 13:17:52 -05:00
Jonathan Moody
b298454727
Fix RPC handler registration and BlockGetChunkResp name.
2022-09-08 11:50:06 -05:00
Jonathan Moody
8c8871b4d2
Register blockchain.* handlers in jsonrpc_service.go.
2022-09-07 15:01:47 -05:00
Jonathan Moody
20e32437e9
Rename blockchain.go -> jsonrpc_blockchain.go.
2022-09-07 14:32:34 -05:00
Jonathan Moody
d0d6145f9d
Refactor blockchain.go handlers to be compatible with gorilla/rpc.
...
Add speculative BlockchainCodecRequest which might handle rewriting
incoming method names.
2022-09-07 14:32:34 -05:00
Jonathan Moody
90afae7cd5
Add scripthash variants of RPC handlers.
2022-09-07 14:32:34 -05:00
Jonathan Moody
f5b8f2ce0d
Add --chain=X argument, and use it to determine chain when DB is empty.
2022-09-07 14:32:34 -05:00
Jonathan Moody
321bcf6420
Fix encoding of TX and Block hashes in response.
2022-09-07 14:32:34 -05:00
Jonathan Moody
293a3f685e
Fix some DB logic and add tests (blockchain_test.go).
2022-09-07 14:32:34 -05:00
Jonathan Moody
f55a5ed777
Continuing blockchain RPC handler work. Add JSON tags.
...
Fetch Height using TxCounts.
2022-09-07 14:32:34 -05: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
Jonathan Moody
fe18c70bf7
Add some blockchain RPC handlers and database fetching routines.
2022-09-07 14:32:20 -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
Jonathan Moody
09fd939b60
Merge pull request #60 from moodyjon/slicebacked_type_param
...
Update go.mod, go.sum for use of constraints (x/exp).
2022-09-07 07:22:01 -05:00
Jonathan Moody
dc9b4ada2a
Update go.mod, go.sum for use of constraints (x/exp).
2022-09-07 07:13:51 -05:00
Jonathan Moody
c38134b645
Merge pull request #56 from moodyjon/slicebacked_type_param
...
Add element type param T to SlicedBacked[T]. Require T satisfy
2022-09-07 05:39:34 -05:00
Jonathan Moody
d025ea1616
Add "on: pull_request" to worflow. ( #59 )
2022-09-06 22:13:13 +03:00
Jonathan Moody
5b690ff2ff
Merge pull request #58 from moodyjon/hashx_history_fix
...
Fix struct annotation for HashXHistoryValue. TxNums now little-endian.
2022-09-06 13:03:07 -05:00
Jonathan Moody
aa16207aa5
Fix struct annotation for HashXHistoryValue. TxNums now little-endian.
2022-09-06 12:57:45 -05:00
Jonathan Moody
78b9a625eb
Merge pull request #54 from moodyjon/hashx_history_fix
...
Payload of HashXHistoryValue should be an array of uint32 representing "txnums"
2022-09-06 12:40:06 -05:00
Jonathan Moody
e46ac7c913
HashXHistoryValue TxNums are unique in that they are little-endian
...
(at least when written by Python scribe on ARM64 Mac or x86).
2022-09-01 13:01:16 -05:00
Jonathan Moody
8ac89195db
Add element type param T to SlicedBacked[T]. Require T satisfy
...
constraints.Ordered to make BisectRight() statically type-safe.
2022-08-30 16:24:43 -05:00
Jonathan Moody
4e11433325
Payload of HashXHistoryValue should be an array of uint32 representing "txnums".
2022-08-26 10:18:01 -04:00