479cb8bcb8
4289dd02cce688a69c596f7cd5e47f831b00aa1b contrib: add R(UN)PATH check to ELF symbol-check (fanquake) Pull request description: Our binaries shouldn't contain any rpaths, or runpaths, so check that at release time. Guix build (aarch64): ```bash 14f1b54936f71aaf8fedb987e1c2f5642c34ac35f4856cdbd7bf7b4a9f42507c guix-build-4289dd02cce6/output/aarch64-linux-gnu/SHA256SUMS.part b120503ac4a37c160aa1bdc662348a2a662cb9b3d0477daa177e92afacab6a27 guix-build-4289dd02cce6/output/aarch64-linux-gnu/bitcoin-4289dd02cce6-aarch64-linux-gnu-debug.tar.gz 6416e3678aa13301ba2327e65dcd83afefd15d21c96c1b574cf616a65466a260 guix-build-4289dd02cce6/output/aarch64-linux-gnu/bitcoin-4289dd02cce6-aarch64-linux-gnu.tar.gz b7f11fa4abc034b32c208a9d642a0cafc0de693d49c8f3b28d1cf2d318af6826 guix-build-4289dd02cce6/output/arm-linux-gnueabihf/SHA256SUMS.part 7cf6269025b10bc5ad65cd98baba68b4b65d3caabcd4d62e7af892bbb16c253f guix-build-4289dd02cce6/output/arm-linux-gnueabihf/bitcoin-4289dd02cce6-arm-linux-gnueabihf-debug.tar.gz c136665417cc1f9254f4541c1161ea6d24d2325e4baa2dd4a306f67a1edf9c20 guix-build-4289dd02cce6/output/arm-linux-gnueabihf/bitcoin-4289dd02cce6-arm-linux-gnueabihf.tar.gz 37dd0359e073cbb38dcd6e17953d31e414ce27516c31b18ef6aa1bc9530dbed2 guix-build-4289dd02cce6/output/arm64-apple-darwin/SHA256SUMS.part 3d01f5db06e1b1cbebc5a5a4277ad3da8911afe35e111d4650e2beee6038cfdb guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin-unsigned.tar.gz 9d8ad7cbdc1e154b33c138de21e7a0ffc8a8857b522db9272c70d5c10732460c guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin-unsigned.zip 23f14eeaeac2e881e41543a796dfa65f132e89153281f9fbcb8019d08fff7eb2 guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin.tar.gz b62d9e202e5414ebefe129e733beaee76b4f9b05a7dd20807fbbdbe24f27f692 guix-build-4289dd02cce6/output/dist-archive/bitcoin-4289dd02cce6.tar.gz 1301b33745b9016bbb7f038ee2004f630244deaa6575b6c75391cda2d8d3455d guix-build-4289dd02cce6/output/powerpc64-linux-gnu/SHA256SUMS.part 54e988c3d3fc204d4b232dcf24df8a80733c46e3adf9ea0c81a1637609fc1131 guix-build-4289dd02cce6/output/powerpc64-linux-gnu/bitcoin-4289dd02cce6-powerpc64-linux-gnu-debug.tar.gz 6acb3348d67d3e96a6f3a6e782ae088532b75d4b38cbfe249e114e07eafefdb6 guix-build-4289dd02cce6/output/powerpc64-linux-gnu/bitcoin-4289dd02cce6-powerpc64-linux-gnu.tar.gz cc30cfe72eefa498f347d825c57a19501d0c24330d2b4bcdfa432cf7a17880e8 guix-build-4289dd02cce6/output/riscv64-linux-gnu/SHA256SUMS.part a56144f8a816c6b62970c29d6c805fe7d26c4d1171e96379e1e6a53c7cb504f6 guix-build-4289dd02cce6/output/riscv64-linux-gnu/bitcoin-4289dd02cce6-riscv64-linux-gnu-debug.tar.gz 7d67eac59846d478b5ecefa1396d3214c2f9b394ec4de4c099b2b2304750e13e guix-build-4289dd02cce6/output/riscv64-linux-gnu/bitcoin-4289dd02cce6-riscv64-linux-gnu.tar.gz 2d1b1ec32f566ad37b7fb6e2d8b150389c0d02013fc99b12e9e93cb938cfdbc7 guix-build-4289dd02cce6/output/x86_64-apple-darwin/SHA256SUMS.part 1bb7a360974cc839499f82cf00dc6e59c3584a3094382086217eacb97b6da931 guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin-unsigned.tar.gz 821a1587e285a8514a9f2ed9bec7d422e91d5f1db3cbb9e4c5ce4467298e692f guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin-unsigned.zip 15956787628f5014adc53fe98fc995c56424c8e6c1e698283f65099751a61dbd guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin.tar.gz 76e8a8275f27a5d2b4eb29c0440c5dfbecb0d9348362ff7defe989820d5ec80b guix-build-4289dd02cce6/output/x86_64-linux-gnu/SHA256SUMS.part 3c8b19f1a130ebb12a1ca4103fa283e71d909f09da5cef8047db1e7e7dfea162 guix-build-4289dd02cce6/output/x86_64-linux-gnu/bitcoin-4289dd02cce6-x86_64-linux-gnu-debug.tar.gz 87b3735cda595556e8adfd4de5c9cc966e9996cdb76b8f9dfa8c978d37397d40 guix-build-4289dd02cce6/output/x86_64-linux-gnu/bitcoin-4289dd02cce6-x86_64-linux-gnu.tar.gz fc535f76e6323fb0feeeee790865d0d2c8ea9d2c85d72a620acfb83546fb7628 guix-build-4289dd02cce6/output/x86_64-w64-mingw32/SHA256SUMS.part 9fd5d3b4e91fa8c4d137c9f8d2089c81f4c4165bb6ab9a404b163f7b363587fd guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-debug.zip b4658cdc94e70cd7b810a44770684b742d96d7d40d720cc54f209784e0ad4ad6 guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-setup-unsigned.exe e4557d1f8c1b0eb5014ad56d2a17a0a618c3ba7e6d073628e633382e1d4191aa guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-unsigned.tar.gz 3f9a104633f6962b0b8efb64a7d6be453f56617561e7f5b49a84ae191942ea5d guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64.zip ``` ACKs for top commit: theuni: utACK 4289dd02cce688a69c596f7cd5e47f831b00aa1b hebasto: ACK 4289dd02cce688a69c596f7cd5e47f831b00aa1b. Tree-SHA512: f2e1f6525f699e0d069c70f5e7f1a7e8f8758dcdaff778d49e671bc106a9592f9a7b25c4dbeeaf92b654646fd3b902ad45c8547fd1b28e3287933e8c1497333d |
||
---|---|---|
.github | ||
.tx | ||
build-aux/m4 | ||
ci | ||
contrib | ||
depends | ||
doc | ||
share | ||
src | ||
test | ||
.cirrus.yml | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.python-version | ||
.style.yapf | ||
autogen.sh | ||
CMakeLists.txt | ||
configure.ac | ||
CONTRIBUTING.md | ||
COPYING | ||
INSTALL.md | ||
libdashconsensus.pc.in | ||
Makefile.am | ||
README.md | ||
SECURITY.md |
Dash Core staging tree
CI | master | develop |
---|---|---|
Gitlab |
For an immediately usable, binary version of the Dash Core software, see https://www.dash.org/downloads/.
Further information about Dash Core is available in ./doc/.
What is Dash?
Dash is an experimental digital currency that enables instant, private payments to anyone, anywhere in the world. Dash uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Dash Core is the name of the open source software which enables the use of this currency.
For more information read the original Dash whitepaper.
License
Dash Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.
Development Process
The master
branch is meant to be stable. Development is normally done in separate branches.
Tags are created to indicate new official,
stable release versions of Dash Core.
The develop
branch is regularly built (see doc/build-*.md for instructions) and tested, but is not guaranteed to be
completely stable.
The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.
Build / Compile from Source
The ./configure
, make
, and cmake
steps, as well as build dependencies, are in ./doc/ as well:
- Linux: ./doc/build-unix.md
Ubuntu, Debian, Fedora, Arch, and others - macOS: ./doc/build-osx.md
- Windows: ./doc/build-windows.md
- OpenBSD: ./doc/build-openbsd.md
- FreeBSD: ./doc/build-freebsd.md
- NetBSD: ./doc/build-netbsd.md
Testing
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Automated Testing
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled in configure) with: make check
. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python.
These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py
The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
Translations
Changes to translations as well as new translations can be submitted to Dash Core's Transifex page.
Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.
Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.