No description
Find a file
Andrew Poelstra e5ecee8d2d reduce cache sizes so that default maxsigcache size is same as Bitcoin
Bitcoin allocates 32M for signature caching by default, split
between a signature cache and a script validity cache (see
Core #10192). Since 0.14 we have added an additional 32M for
rangeproof caching *and* an additional 32M for surjectionproof
caching.

These cache entries cost a bit over 32 bytes, so these are room
for a million entries....or 4Gb of rangeproofs and 300M of
surjection proofs.

Presumably we did not intend to triple memory usage relative to
Core to deal with some champagne problem in which our mempool is
overfilled ten times with pure rangeproofs. So put the total
default cache size back to 32M. This should have no performance
hit under realistic circumstances and should reduce CI OOM failures.

On my system we now use 50M rather than 110M during the fedpeg
test; we still use 18M that Core does not by having three additional
global secp contexts (one in blind.cpp, one in pegins.cpp, one in
confidential_validation.cpp) but we can settle that in a future
commit.
2021-03-26 17:33:05 +00:00
.github doc: Remove label from good first issue template 2020-08-24 09:31:24 +02:00
.tx tx: Update transifex slug for 0.21 2020-10-01 22:19:11 +02:00
build-aux/m4 build: AX_PTHREAD serial 27 2020-09-14 16:35:09 +08:00
build_msvc Merge #19953: Implement BIP 340-342 validation (Schnorr/taproot/tapscript) 2020-10-15 10:22:35 +02:00
ci ci: change bitcoin- paths to elements- paths since that's where autotools puts stuff 2021-03-26 17:33:04 +00:00
contrib (temporarily?) delete Liquid gitian descriptors 2021-03-26 17:33:04 +00:00
depends Merge #20195: build: fix mutex detection when building bdb on macOS 2020-10-29 12:31:54 +01:00
doc Merge 9d35590935 into merged_master (Elements PR #964) 2021-03-26 00:58:03 +00:00
share build: drop the rendered icon stuff 2021-03-26 17:33:05 +00:00
src reduce cache sizes so that default maxsigcache size is same as Bitcoin 2021-03-26 17:33:05 +00:00
test ci: fix benchmarks, fuzztests and unit tests 2021-03-26 17:33:05 +00:00
.appveyor.yml ci: Use the previous build worker image in AppVeyor 2020-11-15 09:12:06 +02:00
.cirrus.yml ci: reduce secp test iterations from default 64 to 16 2021-03-26 17:33:04 +00:00
.fuzzbuzz.yml ci: Add fuzzbuzz integration 2020-04-14 16:38:26 +00:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore Merge 9366a73d69 into merged_master (Bitcoin PR #19916) 2020-11-29 03:00:55 +00:00
.python-version .python-version: Specify full version 3.5.6 2019-03-02 12:06:26 -05:00
.style.yapf test: .style.yapf: Set column_limit=160 2019-03-04 18:28:13 -05:00
.travis.yml Merge 6dc1b45087 into merged_master (Bitcoin PR #19267) 2020-11-26 01:09:09 +00:00
autogen.sh scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
CODEOWNERS doc: Add comments and additional reviewers to CODEOWNERS file 2020-09-01 11:23:58 -04:00
configure.ac build: drop the rendered icon stuff 2021-03-26 17:33:05 +00:00
CONTRIBUTING.md Merge 6ea7348122 into merged_master (Bitcoin PR #19638) 2020-11-27 03:15:08 +00:00
COPYING doc: Update license year range to 2020 2019-12-26 23:11:21 +01:00
INSTALL.md Update INSTALL landing redirection notice for build instructions. 2016-10-06 12:27:23 +13:00
libbitcoinconsensus.pc.in build: remove libcrypto as internal dependency in libbitcoinconsensus.pc 2019-11-19 15:03:44 +01:00
Makefile.am build: drop the rendered icon stuff 2021-03-26 17:33:05 +00:00
README.md doc: Mention repo split in the READMEs 2020-06-08 10:06:14 -04:00
SECURITY.md Merge 53e1771cd8 into merged_master (Elements PR #807) 2020-11-14 16:52:10 +00:00

Elements Project blockchain platform

Build Status

https://elementsproject.org

This is the integration and staging tree for the Elements blockchain platform, a collection of feature experiments and extensions to the Bitcoin protocol. This platform enables anyone to build their own businesses or networks pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset tokens.

Modes

Elements supports a few different pre-set chains for syncing. Note though some are intended for QA and debugging only:

  • Liquid mode: elementsd -chain=liquidv1 (syncs with Liquid network)
  • Bitcoin mainnet mode: elementsd -chain=main (not intended to be run for commerce)
  • Bitcoin testnet mode: elementsd -chain=testnet3
  • Bitcoin regtest mode: elementsd -chain=regtest
  • Elements custom chains: Any other -chain= argument. It has regtest-like default parameters that can be over-ridden by the user by a rich set of start-up options.

Confidential Assets

The latest feature in the Elements blockchain platform is Confidential Assets, the ability to issue multiple assets on a blockchain where asset identifiers and amounts are blinded yet auditable through the use of applied cryptography.

Features of the Elements blockchain platform

Compared to Bitcoin itself, it adds the following features:

Previous elements that have been integrated into Bitcoin:

  • Segregated Witness
  • Relative Lock Time

Elements deferred for additional research and standardization:

Additional RPC commands and parameters:

License

Elements is released under the terms of the MIT license. See COPYING for more information or see http://opensource.org/licenses/MIT.

What is the Elements Project?

Elements is an open source, sidechain-capable blockchain platform. It also allows experiments to more rapidly bring technical innovation to the Bitcoin ecosystem.

Learn more on the Elements Project website

https://github.com/ElementsProject/elementsproject.github.io

Secure Reporting

See our vulnerability reporting guide