From a3dd5133da02abb3ab2fbef90d4b3f7e2ea6436b Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Mon, 20 Jun 2022 11:36:49 +0200 Subject: [PATCH 1/4] Merge bitcoin/bitcoin#25409: doc: fix typos 20c58a3e506d768970bb1a588fd8db8ae1a5ffbb doc: typo fix (Marnix) Pull request description: `contrib/devtools/test-symbol-check.py`: envinonment -> environment `contrib/seeds/asmap.py`: succesful -> successful ACKs for top commit: brunoerg: ACK 20c58a3e506d768970bb1a588fd8db8ae1a5ffbb Tree-SHA512: acbe060b7c27673208715c4f6d0fac913c61c94a5e7e37b0ab9865d099067568dc683bd0099e5dc46e3602b13b5dae512ec713bd65f56fa10a59d946d5fd2649 Co-authored-by: MacroFake --- contrib/seeds/asmap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/seeds/asmap.py b/contrib/seeds/asmap.py index 7a605d0b9e2d..e28e5cf532e9 100644 --- a/contrib/seeds/asmap.py +++ b/contrib/seeds/asmap.py @@ -168,7 +168,7 @@ class _Instruction(Enum): # Not an actual instruction, but a way to encode the empty program that fails. In the # encoder, it is used more generally to represent the failure case inside MATCH instructions, # which may (if used inside the context of a DEFAULT instruction) actually correspond to - # a succesful return. In this usage, they're always converted to an actual MATCH or RETURN + # a successful return. In this usage, they're always converted to an actual MATCH or RETURN # before the top level is reached (see make_default below). END = 4 From 4a6f2de24c8d5d017c7e6948421727695774af48 Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Sat, 31 Oct 2026 21:32:08 +0700 Subject: [PATCH 2/4] contrib: finish the bitcoin#24864 port of makeseeds bitcoin#24864 (merged in #7925) also reworded the README intro to say the commands run from contrib/seeds and added a progress line while the input list is read. Both hunks were dropped because the input there is the DNS seeds dump, which Dash replaced by the protx list; this applies them to the protx list. --- contrib/seeds/README.md | 2 +- contrib/seeds/makeseeds.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index 7453fe7626de..1ba0789b1ee9 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -4,7 +4,7 @@ Utility to generate the seeds.txt list that is compiled into the client (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). The seeds compiled into the release are created from the current protx list and AS map -data, like this: +data. Run the following commands from the `/contrib/seeds` directory: ```bash dash-cli protx list valid true 2563000 > protx_list.json diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index bc4fd4f92c51..f700e5e7040f 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -167,11 +167,13 @@ def main(): print('Done.', file=sys.stderr) # This expects a json as outputted by "protx list valid 1" + print('Loading and parsing protx list…', end='', file=sys.stderr, flush=True) if args.protx_list is not None: with open(args.protx_list, 'r', encoding="utf8") as f: mns = json.load(f) else: mns = json.load(sys.stdin) + print('Done.', file=sys.stderr) onions = [] if args.onion_seeds is not None: From a406df0c9b4f1366f4562d42fdb99c06c09dbd73 Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Tue, 7 Feb 2023 10:03:31 +0100 Subject: [PATCH 3/4] Merge bitcoin/bitcoin#26701: contrib: make DNS seeds file an argument in CLI (`makeseeds`) 1c07500dbb6b93510425c8bbdb320f2533efdb3d contrib: make DNS seeds file an argument in CLI (brunoerg) Pull request description: Instead of using `makeseeds.py` this way: ```sh python3 makeseeds.py -a asmap-filled.dat < seeds_main.txt > nodes_main.txt ``` We could use the DNS seeds file as an argument since it is a required one. It improves the way the script handles it when that file is missing as well as makes this script more friendly. E.g: ```sh python3 makeseeds.py -a asmap-filled.dat -s seeds_main.txt > nodes_main.txt ``` ACKs for top commit: vincenzopalazzo: ACK https://github.com/bitcoin/bitcoin/pull/26701/commits/1c07500dbb6b93510425c8bbdb320f2533efdb3d Tree-SHA512: bddf728d5d376659155f5bbeb1fa0d42aa273ec4a0cf5687f4d3f3be85625f541d392f30008e3c9d2c65967cb882deb36af34330994727771be73c9adeb521e0 Dash: makeseeds has no DNS seeds dump; the protx list is the input in that role, so it becomes the required --protx argument and the stdin fallback goes away like upstream. The onion seeds list moves to --onion for the same reason. Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> --- contrib/seeds/README.md | 2 +- contrib/seeds/makeseeds.py | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index 1ba0789b1ee9..62543163779f 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -18,7 +18,7 @@ do nc -v -x 127.0.0.1:9050 -z $address $port done < "onion_seeds.txt" -python3 makeseeds.py -a asmap-filled.dat protx_list.json onion_seeds.txt > nodes_main.txt +python3 makeseeds.py -a asmap-filled.dat -p protx_list.json -o onion_seeds.txt > nodes_main.txt python3 generate-seeds.py . > ../../src/chainparamsseeds.h ``` diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index f700e5e7040f..0c8f93766801 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -154,8 +154,8 @@ def ip_stats(ips: List[Dict]) -> str: def parse_args(): argparser = argparse.ArgumentParser(description='Generate a list of dash node seed ip addresses.') argparser.add_argument("-a","--asmap", help='the location of the asmap asn database file (required)', required=True) - argparser.add_argument("protx_list", nargs='?', help='json as outputted by "protx list valid 1" (default: stdin)') - argparser.add_argument("onion_seeds", nargs='?', help='file with onion seeds, one per line') + argparser.add_argument("-p","--protx", help='the location of the protx list file, json as outputted by "protx list valid 1" (required)', required=True) + argparser.add_argument("-o","--onion", help='the location of the onion seeds file, one per line (optional)') return argparser.parse_args() def main(): @@ -166,18 +166,14 @@ def main(): asmap = ASMap.from_binary(f.read()) print('Done.', file=sys.stderr) - # This expects a json as outputted by "protx list valid 1" - print('Loading and parsing protx list…', end='', file=sys.stderr, flush=True) - if args.protx_list is not None: - with open(args.protx_list, 'r', encoding="utf8") as f: - mns = json.load(f) - else: - mns = json.load(sys.stdin) + print(f'Loading and parsing protx list "{args.protx}"…', end='', file=sys.stderr, flush=True) + with open(args.protx, 'r', encoding="utf8") as f: + mns = json.load(f) print('Done.', file=sys.stderr) onions = [] - if args.onion_seeds is not None: - with open(args.onion_seeds, 'r', encoding="utf8") as f: + if args.onion is not None: + with open(args.onion, 'r', encoding="utf8") as f: onions = f.read().split('\n') print(f'Total mns: {len(mns)}', file=sys.stderr) From b5d8ef65d48d598c0060ec2e2b944772fea37103 Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Thu, 9 Mar 2023 17:08:14 +0000 Subject: [PATCH 4/4] Merge bitcoin/bitcoin#27025: github: Switch to yaml issue templates 3fa1185dda3b000b9c3956422fd2351e40969dec github: Switch to yaml issue templates (willcl-ark) Pull request description: The new YAML templates provide more flexibility and can be designed to extract more information from users when submitting issues, avoiding initial back-and-forth when reports do not include enough background information to begin with. Key differences: * YAML format * Allows us to require responses to certain questions * Not currently compatible with GitLab (.md only) This does keep the "Blank Issue" option at the bottom. Testing this must be done with the master branch of the repo, which is slightly annoying for this repo. I have therefore pushed this to my own fork so that you can see the new templates, along with how the output is rendered in newly-created issues: [github.com/willcl-ark/bitcoin/issues](https://github.com/willcl-ark/bitcoin/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) I did make some minor changes to some of the template wording, but this change could also be a good time to add/remove additional questions. This seems like a net-positive for me, setting aside the issue that if we ever migrated away from GitHub these might have to be ported back to *.md (or something else), but that seems easy-enough that this change would be worth it. Curious to know what others think of this, and whether they would suggest adding any other questions to any of the templates as part of this update? ACKs for top commit: achow101: ACK 3fa1185dda3b000b9c3956422fd2351e40969dec glozow: ACK 3fa1185dda3b000b9c3956422fd2351e40969dec Tree-SHA512: ce7990cd5f951e3839bc54022ce9f4b0ff9ffb8b19754d657d79acf9118bbdc4aba196f872cd5511b81e03993e54dfe4fcb85e89deade024e5a65a336adb638b Co-authored-by: glozow --- .github/ISSUE_TEMPLATE.md | 39 --------- .github/ISSUE_TEMPLATE/bug.yml | 92 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 41 --------- .github/ISSUE_TEMPLATE/config.yml | 8 ++ .github/ISSUE_TEMPLATE/feature_request.md | 20 ----- .github/ISSUE_TEMPLATE/feature_request.yml | 36 ++++++++ .github/ISSUE_TEMPLATE/good_first_issue.md | 22 ----- .github/ISSUE_TEMPLATE/good_first_issue.yml | 41 +++++++++ 8 files changed, 177 insertions(+), 122 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/good_first_issue.md create mode 100644 .github/ISSUE_TEMPLATE/good_first_issue.yml diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index cff4f548b79d..000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,39 +0,0 @@ - - -This issue tracker is only for technical issues related to Dash Core. - -General Dash questions and/or support requests and are best directed to the [Dashpay Reddit](https://www.reddit.com/r/dashpay/). - -To report critical security issues, email infosec@dash.org and/or see the DASH bug bounty program on [Bugcrowd](https://bugcrowd.com/dashdigitalcash) instead of creating Github issues. - -### Describe the issue - -### Can you reliably reproduce the issue? -#### If so, please list the steps to reproduce below: -1. -2. -3. - -### Expected behaviour -Tell us what should happen - -### Actual behaviour -Tell us what happens instead - -### Screenshots. -If the issue is related to the GUI, screenshots can be added to this issue via drag & drop. - -### What version of Dash Core are you using? -List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA. - -### Machine specs: -- OS: -- CPU: -- RAM: -- Disk size: -- Disk Type (HD/SDD): - -### For the GUI-related issue on Linux provide names and versions of a distro, a desktop environment and a graphical shell (if relevant). - -### Any extra information that might be useful in the debugging process. -This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 000000000000..bd23eee160a5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,92 @@ +name: Bug report +description: Submit a new bug report. +labels: [bug] +body: + - type: markdown + attributes: + value: | + ## This issue tracker is only for technical issues related to Dash Core. + + * General Dash questions and/or support requests are best directed to the Dash Forum at https://www.dash.org/forum/. + * For reporting security issues, please read instructions at https://github.com/dashpay/dash/blob/master/SECURITY.md. + * If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running `memtest` and observe CPU temperature with a load-test tool such as `linpack` before creating an issue. + + ---- + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + - type: textarea + id: current-behaviour + attributes: + label: Current behaviour + description: Tell us what went wrong + validations: + required: true + - type: textarea + id: expected-behaviour + attributes: + label: Expected behaviour + description: Tell us what you expected to happen + validations: + required: true + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: | + Tell us how to reproduce your bug. Please attach related screenshots if necessary. + * Run-time or compile-time configuration options + * Actions taken + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant log output + description: | + Please copy and paste any relevant log output or attach a debug log file. + + You can find the debug.log in your [data dir.](https://github.com/dashpay/dash/blob/master/doc/files.md#data-directory-location) + + Please be aware that the debug log might contain personally identifying information. + validations: + required: false + - type: dropdown + attributes: + label: How did you obtain Dash Core + multiple: false + options: + - Compiled from source + - Pre-built binaries + - Package manager + - Other + validations: + required: true + - type: input + id: core-version + attributes: + label: What version of Dash Core are you using? + description: Run `dashd --version` or in Dash-Qt use `Help > About Dash Core` + placeholder: e.g. v23.1.9 or develop@f7450ed + validations: + required: true + - type: input + id: os + attributes: + label: Operating system and version + placeholder: e.g. "MacOS Ventura 13.2" or "Ubuntu 22.04 LTS" + validations: + required: true + - type: textarea + id: machine-specs + attributes: + label: Machine specifications + description: | + What are the specifications of the host machine? + e.g. OS/CPU and disk type, network connectivity + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 743d08d4f96a..000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve (use this for suspected bugs only, if not sure, open a regular issue below) -title: '' -labels: Bug -assignees: '' - ---- - - - - - -**Expected behavior** - - - -**Actual behavior** - - - -**To reproduce** - - - -**System information** - - - - - - - - - diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000000..f124a3469164 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Dash Core Security Policy + url: https://github.com/dashpay/dash/blob/master/SECURITY.md + about: View security policy + - name: Dash Forum + url: https://www.dash.org/forum/ + about: General Dash questions and support requests diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 2d5685185ea3..000000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: Feature -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** - - -**Describe the solution you'd like** - - -**Describe alternatives you've considered** - - -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000000..7fc723cf68ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,36 @@ +name: Feature Request +description: Suggest an idea for this project. +labels: [enhancement] +body: + - type: textarea + id: feature + attributes: + label: Please describe the feature you'd like to see added. + description: Attach screenshots or logs if applicable. + validations: + required: true + - type: textarea + id: related-problem + attributes: + label: Is your feature related to a problem, if so please describe it. + description: Attach screenshots or logs if applicable. + validations: + required: false + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + validations: + required: false + - type: textarea + id: alternatives + attributes: + label: Describe any alternatives you've considered + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Please leave any additional context + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/good_first_issue.md b/.github/ISSUE_TEMPLATE/good_first_issue.md deleted file mode 100644 index 42d7cbbbed10..000000000000 --- a/.github/ISSUE_TEMPLATE/good_first_issue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Good first issue -about: '(Regular devs only): Suggest a new good first issue' -title: '' -labels: '' -assignees: '' - ---- - - - - - - - -#### Useful skills: - - - -#### Want to work on this issue? - -For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/dashpay/dash/blob/master/CONTRIBUTING.md) before opening your pull request. diff --git a/.github/ISSUE_TEMPLATE/good_first_issue.yml b/.github/ISSUE_TEMPLATE/good_first_issue.yml new file mode 100644 index 000000000000..a13cc4bafe25 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/good_first_issue.yml @@ -0,0 +1,41 @@ +name: Good First Issue +description: (Regular devs only) Suggest a new good first issue +labels: [Good First Issue] +body: + - type: markdown + attributes: + value: | + Please add the label "Good First Issue" manually before or after opening + + A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution + + Motivate the issue and explain the solution briefly + - type: textarea + id: motivation + attributes: + label: Motivation + description: Motivate the issue + validations: + required: true + - type: textarea + id: solution + attributes: + label: Possible solution + description: Describe a possible solution + validations: + required: false + - type: textarea + id: useful-skills + attributes: + label: Useful Skills + description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Dash masternodes and the Dash Core RPC interface”. + validations: + required: false + - type: textarea + attributes: + label: Guidance for new contributors + description: Please leave this to automatically add the footer for new contributors + value: | + Want to work on this issue? + + For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/dashpay/dash/blob/master/CONTRIBUTING.md) before opening your pull request.