Commit graph

3601 commits

Author SHA1 Message Date
Roy Lee
8a80f0683a [lbry] policy: relax dust thrashold to 1000 dewies/kB
An output is considered dust if the cost to the network to spend the
coins is more than 1/3 of the minimum free transaction relay fee, which
has a default rate of 1000 satoshis/kb

bitcoind refactored dust threshold calculation, which removed the
multiply factor of 3 from the code, but increased the DUST_RELAY_TX_FEE
from 1000 to 3000 (satoshi/kb).

lbrycrd adopted the refactored code but also kept the rate to
1000 dewies/kB, which means:

    An output is considered dust if the cost to the network to spend the
    coins is more than the minimum free transaction relay fee.
2022-09-01 15:28:07 -07:00
Roy Lee
5d7a219e35 rpc: make getblock return orphan blocks with confirmation=-1 2022-08-31 18:32:49 -07:00
Roy Lee
2d04d31894 rpc: implement rescanblockchain rpcclient 2022-08-31 18:32:49 -07:00
Roy Lee
ce37025d5a txscript: validate claimscript size 2022-08-30 15:30:07 -07:00
Roy Lee
98e5771989 rpc: implement setban, lisnbanned, clearbanned RPCs 2022-08-14 21:26:27 -07:00
Roy Lee
ff324e0fdb doc: update snapshot related instructions 2022-08-14 14:17:41 -07:00
Roy Lee
be0d7de8da mining: accomodate pre-BIP0141 coinbase structure
Some popular pool software, yiimp for example, constructs coinbase
in pre-BIP0141 style, which results in rejection of submitblock.
2022-08-12 10:39:26 -07:00
Roy Lee
fcfb2af76f netsync: revert base/segwit encoding hack 2022-08-12 10:39:26 -07:00
Roy Lee
78bed14956 go mod: bump lbcutil to v1.0.202 2022-08-12 10:39:26 -07:00
Roy Lee
fdedbf86f8 mining: include 'segwit' rule when no segwit txns in GBT
According to the BIP0009, all active softfork deployment should
be included in the rules.

We add the '!' to indicate the enforcement if the template has
any segwit transactions in it. Otherwise, plain `segwit` is fine.
2022-08-08 00:49:16 -07:00
Roy Lee
a9351b3e3a lbcdblocknotify: support --run to execute custom command 2022-08-07 23:55:10 -07:00
Roy Lee
e323751218 ci: gofmt with go 1.19
Go 1.19 introduces various updates to gofmt.
2022-08-07 23:40:53 -07:00
Roy Lee
66c8567a27 ci: bump to Go 1.19 2022-08-07 23:40:17 -07:00
Roy Lee
6b0e7592c6 btcjson: remove WebsocketOnly for wallet extension RPCs 2022-07-29 12:10:53 -07:00
Roy Lee
05f52c11a1 docs: update README.md 2022-07-28 17:23:39 -07:00
Roy Lee
ea63a44c7b [lbry] rpcclient: fix stratum update_block format for blocknotify 2022-07-28 08:32:09 -07:00
Jonathan Moody
daa3137dc4 [rpc blockchain] Add support for mediantime, chainwork to RPC getblock. 2022-07-27 10:41:24 -07:00
Roy Lee
b147fe2a5b Revert "[lbry] claimtrie: created node cache"
This reverts commit 8f95946b17.
2022-07-27 10:18:35 -07:00
Jonathan Moody
7f9fe4b970 [rpc mempool] More tweaks to dynamicMemUsage(). Add toggleable assertions for max depth and switch completness. Toggle them when running in mempool_test.go. Drop support for reflect.Map, as it's not needed at this time. 2022-07-18 17:17:56 -07:00
Jonathan Moody
eefb1260eb [rpc mempool] Correct comment BTC -> LBC. 2022-07-18 17:17:56 -07:00
Jonathan Moody
a8a44aa988 [rpc mempool] Hide debugging functionality of dynamicMemUsage(). 2022-07-18 17:17:56 -07:00
Jonathan Moody
abb1b8b388 [rpc mempool] Add support for unbroadcastcount to RPC getmempoolinfo. 2022-07-18 17:17:56 -07:00
Jonathan Moody
13e31d033a [rpc mempool] Add support for usage, total_fee, mempoolminfee, minrelaytxfee to RPC getmempoolinfo. 2022-07-18 17:17:56 -07:00
Roy Lee
5499a2c1b3 [lbry] claimtrie: more verbose error message in ResetHeight 2022-07-17 11:32:33 -07:00
Roy Lee
fae4063046 rpc: remove deprecated and unimplemented 'move' 2022-07-14 15:45:06 -07:00
Roy Lee
8d1005706b rpc: remove deprecated and unimplemented 'setaccount' 2022-07-14 15:43:35 -07:00
Roy Lee
bb93a49349 [lbry] config: allow non-localhost connections with TLS disabled 2022-07-11 16:52:38 -07:00
Roy Lee
d5922cd725 [lbry] version: fix version string handling 2022-07-06 20:44:22 -07:00
Roy Lee
3a179a0eee [lbry] rpc: un-embedded attributes in getaddressinfo result
lbcwallet failed to re-generate RPC help message.

The help message generator doesn't handle embedded fields properly.
2022-07-05 20:12:27 -07:00
Jonathan Moody
ca9b4e5529 Rename nameProgressLogger -> claimProgressLogger and tweak log message. 2022-06-14 11:27:58 -07:00
Jonathan Moody
2b7f065855 Adjust and rename blockProgressLogger -> nameProgressLogger. Use it in makeNameHashNext() to track progress. 2022-06-14 11:27:58 -07:00
Jonathan Moody
b859832907 Copy netsync/blocklogger.go to claimtrie/logger.go. 2022-06-14 11:27:58 -07:00
Jonathan Moody
70852905e0 Allow environment var GOMAXPROCS=<N> to override NumCPU(). 2022-06-14 11:03:27 -07:00
Jonathan Moody
5f7b1f1b4f Copy value received by MergeOlder/MergeNewer so caller can't trash the merge result by modifying the contents. 2022-06-06 14:12:30 -07:00
Jonathan Moody
0241e18f42 Harden Marshal/Unmarshal logic for Change.SpentChildren. 2022-06-06 14:12:30 -07:00
Brannon King
b06df3d750 added buffer pool for pebble merge string 2022-06-06 14:12:30 -07:00
Jonathan Moody
15191b7ede
[lbry] runtime: Add --memprofile option
* Add --memprofile option. Add memprofile to sample config.
* Add --memprofile to doc.go.
2022-06-03 12:08:09 -07:00
Jonathan Moody
92a7a2087a
[lbry] runtime: Allow environment var GOGC=<percent> to override hard-coded SetGCPercent(10). 2022-06-03 09:19:55 -07:00
Brannon King
8f95946b17 [lbry] claimtrie: created node cache 2022-05-26 22:04:33 -07:00
Roy Lee
5d5f53c8d8 [lbry] contrib: add a helper script for generating snapshots 2022-05-26 21:53:59 -07:00
Roy Lee
6e36118193
[lbry] claimtrie: update CLI to support other tools
- fix default app dir name
- enable debug level for cli
- block sub command to output hash, height, or both
2022-05-26 21:52:15 -07:00
Roy Lee
e48200f53a [lbry] wire: limit the blocks of getdata message
In the cuurent codebase, OnGetData() handler penalizes / ban peers
requesting large blocks.

  server.go:
  @@ -649,7 +649,7 @@ func (sp *serverPeer) OnGetData(_ *peer.Peer, msg *wire.MsgGetData) {
          // bursts of small requests are not penalized as that would potentially ban
          // peers performing IBD.
          // This incremental score decays each minute to half of its value.
          if sp.addBanScore(0, uint32(length)*99/wire.MaxInvPerMsg, "getdata") {
                  return
          }

This accidentally penalize nodes trying to catch up checkpoints whose
'getdata' requests would be as large as the wire.MaxInvPerMsg, and get
banned very soon.

This patch limit getdata request to wire.MaxInvPerMsg/99 blocks.
2022-05-25 22:00:38 -07:00
Roy Lee
4a8d390a06
[lbry] ci: GoReleaser zero out buildid for reproducible builds (#40) 2022-05-25 21:49:12 -07:00
Roy Lee
aef4e45bd7 [lbry] ci: add github workflows 2022-05-24 02:49:08 -07:00
Roy Lee
0375a6d38b [lbry] ci: support GoReleaser 2022-05-24 02:35:27 -07:00
Roy Lee
2cfa235a33 [lbry] ci: update Dockerfile
Use $ARCH/debian:bullseye-20220418-slim as base image
2022-05-24 00:47:34 -07:00
Roy Lee
7ee3d7d26b [lbry] ci: add .golangci-lint.yml 2022-05-24 00:47:34 -07:00
Roy Lee
d4cddda35c [lbry] ci: update gocelan.sh 2022-05-24 00:41:56 -07:00
Roy Lee
76e482bb73 [lbry] ci: remove release/release.sh 2022-05-24 00:39:44 -07:00
Roy Lee
badb894e3a [lbry] ci: update .gitignore 2022-05-24 00:39:44 -07:00