From d2383df15b22ed118f4d8a1c8dba32ef80785db0 Mon Sep 17 00:00:00 2001 From: Nicolas MASSART Date: Mon, 14 Dec 2020 08:56:16 +0100 Subject: [PATCH] Update Vale guidelines checker and fix issues (#570) * updated vale * fix Vale issues * exclude vale style dirs from lint checks Signed-off-by: Nicolas MASSART --- .circleci/config.yml | 56 +- .github/pull_request_template.md | 2 +- .markdownlintignore | 2 + CI/scripts/README.md | 4 +- CI/{vale_styles => vale}/.vale.ini | 25 +- CI/{ => vale}/vale_styles/Besu/Acronyms.yml | 9 +- CI/vale/vale_styles/Besu/Headings.yml | 45 + CI/vale/vale_styles/Besu/Latin.yml | 8 + CI/{ => vale}/vale_styles/Microsoft/AMPM.yml | 0 .../vale_styles/Microsoft/Accessibility.yml | 4 +- .../vale_styles/Microsoft/Acronyms.yml | 2 +- .../vale_styles/Microsoft/Adverbs.yml | 2 + CI/vale/vale_styles/Microsoft/Auto.yml | 11 + CI/{ => vale}/vale_styles/Microsoft/Avoid.yml | 7 +- CI/vale/vale_styles/Microsoft/Backend.yml | 12 + .../vale_styles/Microsoft/ComplexWords.yml | 120 +++ .../vale_styles/Microsoft/Contractions.yml | 4 +- .../vale_styles/Microsoft/Dashes.yml | 5 + .../vale_styles/Microsoft/DateFormat.yml | 0 CI/vale/vale_styles/Microsoft/DateNumbers.yml | 40 + .../vale_styles/Microsoft/DateOrder.yml | 2 +- .../vale_styles/Microsoft/Ellipses.yml | 4 +- CI/vale/vale_styles/Microsoft/FirstPerson.yml | 13 + .../vale_styles/Microsoft/Foreign.yml | 4 +- .../vale_styles/Microsoft/Gender.yml | 2 +- CI/vale/vale_styles/Microsoft/GenderBias.yml | 44 + CI/vale/vale_styles/Microsoft/GeneralURL.yml | 11 + .../vale_styles/Microsoft/HeadingAcronyms.yml | 2 +- .../vale_styles/Microsoft/HeadingColons.yml | 2 +- .../Microsoft/HeadingPunctuation.yml | 7 +- .../vale_styles/Microsoft/Headings.yml | 2 +- .../vale_styles/Microsoft/Hyphens.yml | 6 + CI/{ => vale}/vale_styles/Microsoft/LICENSE | 0 CI/vale/vale_styles/Microsoft/Negative.yml | 13 + .../vale_styles/Microsoft/Ordinal.yml | 7 +- CI/vale/vale_styles/Microsoft/OxfordComma.yml | 7 + .../vale_styles/Microsoft/Passive.yml | 0 .../vale_styles/Microsoft/Percentages.yml | 2 +- .../vale_styles/Microsoft/Quotes.yml | 0 .../vale_styles/Microsoft/RangeFormat.yml | 8 +- .../vale_styles/Microsoft/RangeTime.yml | 8 +- .../vale_styles/Microsoft/Ranges.yml | 0 .../vale_styles/Microsoft/Semicolon.yml | 0 .../vale_styles/Microsoft/SentenceLength.yml | 2 +- .../vale_styles/Microsoft/Spacing.yml | 0 .../vale_styles/Microsoft/Suspended.yml | 0 CI/{ => vale}/vale_styles/Microsoft/Terms.yml | 2 + .../vale_styles/Microsoft/URLFormat.yml | 4 +- CI/{ => vale}/vale_styles/Microsoft/Units.yml | 0 CI/{ => vale}/vale_styles/Microsoft/Vocab.yml | 2 + CI/{ => vale}/vale_styles/Microsoft/We.yml | 6 +- .../vale_styles/Microsoft/Wordiness.yml | 14 +- CI/vale/vale_styles/Microsoft/meta.json | 4 + CI/{ => vale}/vale_styles/Microsoft/vocab.txt | 0 CI/vale/vale_styles/README.md | 13 + CI/vale/vale_styles/Vocab/Besu/accept.txt | 147 ++++ CI/vale/vale_styles/Vocab/Besu/reject.txt | 1 + CI/vale/vale_styles/proselint/Airlinese.yml | 8 + .../vale_styles/proselint/AnimalLabels.yml | 48 ++ CI/vale/vale_styles/proselint/Annotations.yml | 9 + CI/vale/vale_styles/proselint/Apologizing.yml | 8 + CI/vale/vale_styles/proselint/Archaisms.yml | 52 ++ CI/vale/vale_styles/proselint/But.yml | 8 + CI/vale/vale_styles/proselint/Cliches.yml | 782 ++++++++++++++++++ .../vale_styles/proselint/CorporateSpeak.yml | 30 + CI/vale/vale_styles/proselint/Currency.yml | 5 + CI/vale/vale_styles/proselint/Cursing.yml | 15 + CI/vale/vale_styles/proselint/DateCase.yml | 7 + .../vale_styles/proselint/DateMidnight.yml | 7 + .../vale_styles/proselint/DateRedundancy.yml | 10 + CI/vale/vale_styles/proselint/DateSpacing.yml | 7 + .../vale_styles/proselint/DenizenLabels.yml | 52 ++ CI/vale/vale_styles/proselint/Diacritical.yml | 96 +++ .../vale_styles/proselint}/GenderBias.yml | 5 +- CI/vale/vale_styles/proselint/GroupTerms.yml | 39 + CI/vale/vale_styles/proselint/Hedging.yml | 8 + CI/vale/vale_styles/proselint/Hyperbole.yml | 6 + CI/vale/vale_styles/proselint/Jargon.yml | 11 + .../vale_styles/proselint/LGBTOffensive.yml | 13 + CI/vale/vale_styles/proselint/LGBTTerms.yml | 15 + .../vale_styles/proselint/Malapropisms.yml | 8 + CI/vale/vale_styles/proselint/Needless.yml | 361 ++++++++ CI/vale/vale_styles/proselint/Nonwords.yml | 38 + CI/vale/vale_styles/proselint/Oxymorons.yml | 22 + CI/vale/vale_styles/proselint/P-Value.yml | 6 + CI/vale/vale_styles/proselint/RASSyndrome.yml | 30 + CI/vale/vale_styles/proselint/README.md | 12 + CI/vale/vale_styles/proselint/Skunked.yml | 13 + CI/vale/vale_styles/proselint/Spelling.yml | 17 + CI/vale/vale_styles/proselint/Typography.yml | 11 + .../vale_styles/proselint/Uncomparables.yml | 50 ++ CI/vale/vale_styles/proselint/Very.yml | 6 + CI/vale/vale_styles/proselint/meta.json | 17 + CI/vale/vale_styles/write-good/Cliches.yml | 702 ++++++++++++++++ CI/vale/vale_styles/write-good/E-Prime.yml | 32 + CI/vale/vale_styles/write-good/Illusions.yml | 11 + CI/vale/vale_styles/write-good/Passive.yml | 183 ++++ CI/vale/vale_styles/write-good/README.md | 27 + CI/vale/vale_styles/write-good/So.yml | 5 + CI/vale/vale_styles/write-good/ThereIs.yml | 6 + CI/vale/vale_styles/write-good/TooWordy.yml | 221 +++++ CI/vale/vale_styles/write-good/Weasel.yml | 207 +++++ CI/vale/vale_styles/write-good/meta.json | 4 + CI/vale_styles/Microsoft/Auto.yml | 7 - CI/vale_styles/Microsoft/Backend.yml | 11 - CI/vale_styles/Microsoft/ComplexWords.yml | 119 --- CI/vale_styles/Microsoft/DateNumbers.yml | 7 - CI/vale_styles/Microsoft/FirstPerson.yml | 9 - CI/vale_styles/Microsoft/GeneralURL.yml | 6 - CI/vale_styles/Microsoft/Negative.yml | 7 - CI/vale_styles/Microsoft/OxfordComma.yml | 7 - CI/vale_styles/Microsoft/meta.json | 17 - CONTRIBUTING.md | 2 +- MAINTAINERS.md | 11 +- README.md | 8 +- SECURITY.md | 10 +- docs/Concepts/Events-and-Logs.md | 2 +- docs/Concepts/Node-Keys.md | 6 +- .../Permissioning/Onchain-Permissioning.md | 10 +- .../Permissioning/Permissioning-Overview.md | 2 +- .../Privacy/Flexible-PrivacyGroups.md | 2 +- docs/Concepts/Privacy/Multi-Tenancy.md | 4 +- .../Privacy/Private-Transaction-Processing.md | 2 +- docs/Concepts/Privacy/Private-Transactions.md | 4 +- docs/Concepts/Pruning.md | 4 +- docs/HowTo/Backup/Backup.md | 4 +- .../Configure-HA/Sample-Configuration.md | 8 +- .../Configure/Consensus-Protocols/Clique.md | 2 +- .../Configure/Consensus-Protocols/IBFT.md | 10 +- docs/HowTo/Configure/Contracts-in-Genesis.md | 4 +- docs/HowTo/Configure/FreeGas.md | 2 +- docs/HowTo/Deploy/Ansible.md | 6 +- docs/HowTo/Deploy/Lite-Block-Explorer.md | 10 +- docs/HowTo/Deploy/Lite-Network-Monitor.md | 4 +- docs/HowTo/Deploy/Production.md | 6 +- docs/HowTo/Deploy/Validators.md | 2 +- docs/HowTo/Find-and-Connect/Bootnodes.md | 2 +- docs/HowTo/Find-and-Connect/Static-Nodes.md | 2 +- .../System-Requirements-Public.md | 4 +- docs/HowTo/Interact/APIs/RPC-PubSub.md | 4 +- .../HowTo/Interact/APIs/Using-JSON-RPC-API.md | 2 +- .../HowTo/Limit-Access/Local-Permissioning.md | 2 +- .../Limit-Access/Specify-Perm-Version.md | 4 +- .../Limit-Access/Updating-Permission-Lists.md | 8 +- docs/HowTo/Monitor/Logging.md | 2 +- docs/HowTo/Monitor/Metrics.md | 10 +- docs/HowTo/Monitor/Splunk-Enterprise.md | 12 +- .../Concurrent-Private-Transactions.md | 2 +- .../Creating-Sending-Private-Transactions.md | 4 +- docs/HowTo/Send-Transactions/Transactions.md | 4 +- docs/HowTo/Upgrade/Upgrade-Node.md | 18 +- docs/HowTo/Upgrade/Upgrade-Protocol.md | 2 +- .../Access-Private-Transactions.md | 2 +- .../Sign-Privacy-Marker-Transactions.md | 2 +- docs/HowTo/Use-Privacy/Use-FlexiblePrivacy.md | 10 +- docs/Reference/API-Methods.md | 287 +++---- docs/Reference/API-Objects.md | 4 +- docs/Reference/CLI/CLI-Subcommands.md | 30 +- docs/Reference/CLI/CLI-Syntax.md | 206 ++--- docs/Reference/Config-Items.md | 6 +- docs/Reference/Evm-Tool.md | 110 +-- docs/Reference/Responsible-Disclosure.md | 4 +- .../Examples/Nat-Manager-Kubernetes.md | 12 +- docs/Tutorials/Examples/Privacy-Example.md | 4 +- .../Examples/Private-Network-Example-Azure.md | 12 +- .../Examples/Private-Network-Example.md | 40 +- .../Create-Permissioned-Network.md | 4 +- .../Getting-Started-Onchain-Permissioning.md | 16 +- docs/Tutorials/Privacy/Configuring-Privacy.md | 8 +- .../Privacy/web3js-eea-Multinode-example.md | 4 +- .../Private-Network/Create-IBFT-Network.md | 6 +- .../Create-Private-Clique-Network.md | 4 +- .../Private-Network/Create-Private-Network.md | 4 +- docs/index.md | 2 +- 174 files changed, 4360 insertions(+), 741 deletions(-) create mode 100644 .markdownlintignore rename CI/{vale_styles => vale}/.vale.ini (61%) rename CI/{ => vale}/vale_styles/Besu/Acronyms.yml (91%) create mode 100644 CI/vale/vale_styles/Besu/Headings.yml create mode 100644 CI/vale/vale_styles/Besu/Latin.yml rename CI/{ => vale}/vale_styles/Microsoft/AMPM.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Accessibility.yml (62%) rename CI/{ => vale}/vale_styles/Microsoft/Acronyms.yml (92%) rename CI/{ => vale}/vale_styles/Microsoft/Adverbs.yml (99%) create mode 100644 CI/vale/vale_styles/Microsoft/Auto.yml rename CI/{ => vale}/vale_styles/Microsoft/Avoid.yml (88%) create mode 100644 CI/vale/vale_styles/Microsoft/Backend.yml create mode 100644 CI/vale/vale_styles/Microsoft/ComplexWords.yml rename CI/{ => vale}/vale_styles/Microsoft/Contractions.yml (89%) rename CI/{ => vale}/vale_styles/Microsoft/Dashes.yml (79%) rename CI/{ => vale}/vale_styles/Microsoft/DateFormat.yml (100%) create mode 100644 CI/vale/vale_styles/Microsoft/DateNumbers.yml rename CI/{ => vale}/vale_styles/Microsoft/DateOrder.yml (78%) rename CI/{ => vale}/vale_styles/Microsoft/Ellipses.yml (67%) create mode 100644 CI/vale/vale_styles/Microsoft/FirstPerson.yml rename CI/{ => vale}/vale_styles/Microsoft/Foreign.yml (80%) rename CI/{ => vale}/vale_styles/Microsoft/Gender.yml (88%) create mode 100644 CI/vale/vale_styles/Microsoft/GenderBias.yml create mode 100644 CI/vale/vale_styles/Microsoft/GeneralURL.yml rename CI/{ => vale}/vale_styles/Microsoft/HeadingAcronyms.yml (76%) rename CI/{ => vale}/vale_styles/Microsoft/HeadingColons.yml (84%) rename CI/{ => vale}/vale_styles/Microsoft/HeadingPunctuation.yml (61%) rename CI/{ => vale}/vale_styles/Microsoft/Headings.yml (84%) rename CI/{ => vale}/vale_styles/Microsoft/Hyphens.yml (77%) rename CI/{ => vale}/vale_styles/Microsoft/LICENSE (100%) create mode 100644 CI/vale/vale_styles/Microsoft/Negative.yml rename CI/{ => vale}/vale_styles/Microsoft/Ordinal.yml (58%) create mode 100644 CI/vale/vale_styles/Microsoft/OxfordComma.yml rename CI/{ => vale}/vale_styles/Microsoft/Passive.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Percentages.yml (77%) rename CI/{ => vale}/vale_styles/Microsoft/Quotes.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/RangeFormat.yml (54%) rename CI/{ => vale}/vale_styles/Microsoft/RangeTime.yml (56%) rename CI/{ => vale}/vale_styles/Microsoft/Ranges.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Semicolon.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/SentenceLength.yml (60%) rename CI/{ => vale}/vale_styles/Microsoft/Spacing.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Suspended.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Terms.yml (97%) rename CI/{ => vale}/vale_styles/Microsoft/URLFormat.yml (60%) rename CI/{ => vale}/vale_styles/Microsoft/Units.yml (100%) rename CI/{ => vale}/vale_styles/Microsoft/Vocab.yml (95%) rename CI/{ => vale}/vale_styles/Microsoft/We.yml (60%) rename CI/{ => vale}/vale_styles/Microsoft/Wordiness.yml (93%) create mode 100644 CI/vale/vale_styles/Microsoft/meta.json rename CI/{ => vale}/vale_styles/Microsoft/vocab.txt (100%) create mode 100644 CI/vale/vale_styles/README.md create mode 100644 CI/vale/vale_styles/Vocab/Besu/accept.txt create mode 100644 CI/vale/vale_styles/Vocab/Besu/reject.txt create mode 100644 CI/vale/vale_styles/proselint/Airlinese.yml create mode 100644 CI/vale/vale_styles/proselint/AnimalLabels.yml create mode 100644 CI/vale/vale_styles/proselint/Annotations.yml create mode 100644 CI/vale/vale_styles/proselint/Apologizing.yml create mode 100644 CI/vale/vale_styles/proselint/Archaisms.yml create mode 100644 CI/vale/vale_styles/proselint/But.yml create mode 100644 CI/vale/vale_styles/proselint/Cliches.yml create mode 100644 CI/vale/vale_styles/proselint/CorporateSpeak.yml create mode 100644 CI/vale/vale_styles/proselint/Currency.yml create mode 100644 CI/vale/vale_styles/proselint/Cursing.yml create mode 100644 CI/vale/vale_styles/proselint/DateCase.yml create mode 100644 CI/vale/vale_styles/proselint/DateMidnight.yml create mode 100644 CI/vale/vale_styles/proselint/DateRedundancy.yml create mode 100644 CI/vale/vale_styles/proselint/DateSpacing.yml create mode 100644 CI/vale/vale_styles/proselint/DenizenLabels.yml create mode 100644 CI/vale/vale_styles/proselint/Diacritical.yml rename CI/{vale_styles/Microsoft => vale/vale_styles/proselint}/GenderBias.yml (97%) create mode 100644 CI/vale/vale_styles/proselint/GroupTerms.yml create mode 100644 CI/vale/vale_styles/proselint/Hedging.yml create mode 100644 CI/vale/vale_styles/proselint/Hyperbole.yml create mode 100644 CI/vale/vale_styles/proselint/Jargon.yml create mode 100644 CI/vale/vale_styles/proselint/LGBTOffensive.yml create mode 100644 CI/vale/vale_styles/proselint/LGBTTerms.yml create mode 100644 CI/vale/vale_styles/proselint/Malapropisms.yml create mode 100644 CI/vale/vale_styles/proselint/Needless.yml create mode 100644 CI/vale/vale_styles/proselint/Nonwords.yml create mode 100644 CI/vale/vale_styles/proselint/Oxymorons.yml create mode 100644 CI/vale/vale_styles/proselint/P-Value.yml create mode 100644 CI/vale/vale_styles/proselint/RASSyndrome.yml create mode 100644 CI/vale/vale_styles/proselint/README.md create mode 100644 CI/vale/vale_styles/proselint/Skunked.yml create mode 100644 CI/vale/vale_styles/proselint/Spelling.yml create mode 100644 CI/vale/vale_styles/proselint/Typography.yml create mode 100644 CI/vale/vale_styles/proselint/Uncomparables.yml create mode 100644 CI/vale/vale_styles/proselint/Very.yml create mode 100644 CI/vale/vale_styles/proselint/meta.json create mode 100644 CI/vale/vale_styles/write-good/Cliches.yml create mode 100644 CI/vale/vale_styles/write-good/E-Prime.yml create mode 100644 CI/vale/vale_styles/write-good/Illusions.yml create mode 100644 CI/vale/vale_styles/write-good/Passive.yml create mode 100644 CI/vale/vale_styles/write-good/README.md create mode 100644 CI/vale/vale_styles/write-good/So.yml create mode 100644 CI/vale/vale_styles/write-good/ThereIs.yml create mode 100644 CI/vale/vale_styles/write-good/TooWordy.yml create mode 100644 CI/vale/vale_styles/write-good/Weasel.yml create mode 100644 CI/vale/vale_styles/write-good/meta.json delete mode 100644 CI/vale_styles/Microsoft/Auto.yml delete mode 100644 CI/vale_styles/Microsoft/Backend.yml delete mode 100644 CI/vale_styles/Microsoft/ComplexWords.yml delete mode 100644 CI/vale_styles/Microsoft/DateNumbers.yml delete mode 100644 CI/vale_styles/Microsoft/FirstPerson.yml delete mode 100644 CI/vale_styles/Microsoft/GeneralURL.yml delete mode 100644 CI/vale_styles/Microsoft/Negative.yml delete mode 100644 CI/vale_styles/Microsoft/OxfordComma.yml delete mode 100644 CI/vale_styles/Microsoft/meta.json diff --git a/.circleci/config.yml b/.circleci/config.yml index 90cca191aa5..38b158c4e2a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,6 +11,29 @@ executors: docker: - image: circleci/buildpack-deps:buster-scm +commands: + install_node: + description: "Install Node dependencies" + steps: + - restore_cache: + keys: + - deps-{{ checksum "package-lock.json" }} + - run: + name: update-npm + command: 'sudo npm install -g npm@latest' + - run: + name: Install dependencies + command: | + npm ci + + save_node_cache: + description: "Save Node dependencies" + steps: + - save_cache: + paths: + - ./node_modules + key: deps-{{ checksum "package-lock.json" }} + jobs: dco: executor: shell_executor @@ -65,11 +88,11 @@ jobs: - run: name: Install dependencies command: | - curl -sfL https://install.goreleaser.com/github.com/ValeLint/vale.sh | sh -s v1.7.1 + curl -sfL https://install.goreleaser.com/github.com/ValeLint/vale.sh | sh -s v2.6.6 - run: name: Run Vale command: | - ./bin/vale --config ./CI/vale_styles/.vale.ini --glob='*.{md}' . | tee ./vale.out + ./bin/vale --config ./CI/vale/.vale.ini --glob='*.{md}' . | tee ./vale.out - store_artifacts: path: ./vale.out destination: ./vale.out @@ -78,24 +101,12 @@ jobs: executor: node_executor steps: - checkout - - run: - name: update-npm - command: 'sudo npm install -g npm@latest' - - restore_cache: - keys: - - deps-{{ checksum "package-lock.json" }} - - run: - name: Install dependencies - command: | - npm ci + - install_node - run: name: Run markdown link checker command: | npm run test:links - - save_cache: - paths: - - ./node_modules - key: deps-{{ checksum "package-lock.json" }} + - save_node_cache - store_artifacts: path: ./linkchecker.out destination: linkchecker.out @@ -104,13 +115,7 @@ jobs: executor: node_executor steps: - checkout - - restore_cache: - keys: - - deps-{{ checksum "package-lock.json" }} - - run: - name: Install dependencies - command: | - npm ci + - install_node - run: shell: /bin/bash #this is a non breaking command so it will always return success name: Run Markdownlint info checks @@ -120,10 +125,7 @@ jobs: name: Run Markdownlint command: | npm run test:markdown - - save_cache: - paths: - - ./node_modules - key: deps-{{ checksum "package-lock.json" }} + - save_node_cache - store_artifacts: path: ./markdownlint.out destination: ./markdownlint.out diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 8dcc7d4ff1b..993bf8e7464 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -37,7 +37,7 @@ see #{your issue number} --> - [ ] Python dependencies - [ ] Node dependencies and JavaScript - [ ] ReadTheDocs configuration -- [ ] Github integration +- [ ] GitHub integration ## Testing diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 00000000000..4480a498e4a --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,2 @@ +# these files are copied from the Vale style repositories +CI/vale/vale_styles/*/*.md diff --git a/CI/scripts/README.md b/CI/scripts/README.md index e823684f2b9..87bea6c796d 100755 --- a/CI/scripts/README.md +++ b/CI/scripts/README.md @@ -10,12 +10,12 @@ work to the GitHub repositories. ## Running the scripts -Go to the besu-doc project root directory and run one of the following scripts: +Go to the `besu-doc` project root directory and run one of the following scripts: * `CI/scripts/test_build.sh` runs the doc build with MkDocs. * `CI/scripts/test_guidelines.sh` tests the doc with Vale and our custom rules. * `CI/scripts/test_links.sh` tests the internal and external links in the doc. If a link is - incorrect or the targeted web page is unavailable (for external sites), the test will fail and + incorrect or the targeted Web page is unavailable (for external sites), the test will fail and display the faulty link. * `CI/scripts/test_markdown_syntax.sh` tests the Markdown syntax for issues. Sometimes they are not visible but making sure the markdown is correct helps to make it readable and bug free. diff --git a/CI/vale_styles/.vale.ini b/CI/vale/.vale.ini similarity index 61% rename from CI/vale_styles/.vale.ini rename to CI/vale/.vale.ini index d512becf5c2..7c1bea10e76 100644 --- a/CI/vale_styles/.vale.ini +++ b/CI/vale/.vale.ini @@ -1,12 +1,16 @@ -# Example Vale config file (`.vale.ini` or `_vale.ini`) +# Vale configuration -# Core settings +# Styles directory +# See vale_styles/README.md file for details and licencing information StylesPath = vale_styles +# Here's were we define the exceptions to use in *all* +# `BasedOnStyles`. +Vocab = Besu + # The minimum alert level to display (suggestion, warning, or error). -# # CI builds will only fail on error-level alerts. -MinAlertLevel = warning +MinAlertLevel = error # The "formats" section allows you to associate an "unknown" format # with one of Vale's supported formats. @@ -16,15 +20,12 @@ mdx = md # Global settings (applied to every syntax) [*] # List of styles to load -BasedOnStyles = proselint, write-good, Joblint, Microsoft, Besu +BasedOnStyles = Vale, proselint, write-good, Microsoft, Besu # Style.Rule = {YES, NO} to enable or disable a specific rule -vale.Editorializing = YES -vale.Redundancy = YES -vale.Repetition = YES -vale.GenderBias = YES Microsoft.Contractions = NO Microsoft.GeneralURL = NO +# Microsoft.Acronyms is replaced by Besu list Microsoft.Acronyms = NO Microsoft.Quotes = suggestion Microsoft.We = suggestion @@ -35,6 +36,10 @@ write-good.Weasel = NO proselint.Hyperbole = warning -[common/CLA.md] # Disable guidelines check for this file as it's legal jargon +[CODE_OF_CONDUCT.md] +BasedOnStyles = + +[CI/vale/vale_styles/*.md] +# Disable guidelines check for this dir as it contains imported styles BasedOnStyles = diff --git a/CI/vale_styles/Besu/Acronyms.yml b/CI/vale/vale_styles/Besu/Acronyms.yml similarity index 91% rename from CI/vale_styles/Besu/Acronyms.yml rename to CI/vale/vale_styles/Besu/Acronyms.yml index f9862844edb..055faa16056 100644 --- a/CI/vale_styles/Besu/Acronyms.yml +++ b/CI/vale/vale_styles/Besu/Acronyms.yml @@ -8,6 +8,7 @@ second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)' # ... with the exception of these: exceptions: - API + - AWS - CLA - CLI - CPU @@ -25,12 +26,16 @@ exceptions: - IBFT - IBFT2 - IDE + - IPC - JAR - JDK - JRE - JSON + - JVM + - P2P - PATH - PIP + - PBFT - POA - POS - POST @@ -49,7 +54,9 @@ exceptions: - TOML - URI - URL + - VM + - WAR - WEI - XML - YAML - - ZIP \ No newline at end of file + - ZIP diff --git a/CI/vale/vale_styles/Besu/Headings.yml b/CI/vale/vale_styles/Besu/Headings.yml new file mode 100644 index 00000000000..440724921e6 --- /dev/null +++ b/CI/vale/vale_styles/Besu/Headings.yml @@ -0,0 +1,45 @@ +extends: capitalization +message: "'%s' should use sentence-style capitalization." +link: 'https://docs.microsoft.com/en-us/style-guide/capitalization' +level: suggestion +scope: heading +match: $sentence +indicators: + - ':' +exceptions: + - Besu + - EthSigner + - GoQuorum + - Quorum + - Orion + - Hyperledger + - PegaSys + - Consensys + - Ethereum + - ETH + - TOML + - YAML + - YML + - JSON + - RPC + - Hashicorp + - Vault + - Azure + - CLI + - Code + - Cosmos + - Docker + - Emmet + - I + - Kubernetes + - Linux + - macOS + - Marketplace + - MongoDB + - REPL + - Studio + - TypeScript + - URLs + - Visual + - VS + - Windows diff --git a/CI/vale/vale_styles/Besu/Latin.yml b/CI/vale/vale_styles/Besu/Latin.yml new file mode 100644 index 00000000000..2815844385a --- /dev/null +++ b/CI/vale/vale_styles/Besu/Latin.yml @@ -0,0 +1,8 @@ +extends: substitution +message: "Prefer English '%s' over Latin '%s' term." +level: error +ignorecase: true +action: + name: replace +swap: + de facto: default diff --git a/CI/vale_styles/Microsoft/AMPM.yml b/CI/vale/vale_styles/Microsoft/AMPM.yml similarity index 100% rename from CI/vale_styles/Microsoft/AMPM.yml rename to CI/vale/vale_styles/Microsoft/AMPM.yml diff --git a/CI/vale_styles/Microsoft/Accessibility.yml b/CI/vale/vale_styles/Microsoft/Accessibility.yml similarity index 62% rename from CI/vale_styles/Microsoft/Accessibility.yml rename to CI/vale/vale_styles/Microsoft/Accessibility.yml index 4d66ef14242..05bf9273900 100644 --- a/CI/vale_styles/Microsoft/Accessibility.yml +++ b/CI/vale/vale_styles/Microsoft/Accessibility.yml @@ -1,6 +1,6 @@ extends: existence -message: "Don’t use language ('%s') that defines people by their disability." -link: 'https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/bits-bytes-terms' +message: "Don't use language (such as '%s') that defines people by their disability." +link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/accessibility-terms level: suggestion ignorecase: true tokens: diff --git a/CI/vale_styles/Microsoft/Acronyms.yml b/CI/vale/vale_styles/Microsoft/Acronyms.yml similarity index 92% rename from CI/vale_styles/Microsoft/Acronyms.yml rename to CI/vale/vale_styles/Microsoft/Acronyms.yml index a048aa0e608..308ff7c0ed8 100644 --- a/CI/vale_styles/Microsoft/Acronyms.yml +++ b/CI/vale/vale_styles/Microsoft/Acronyms.yml @@ -1,6 +1,6 @@ extends: conditional message: "'%s' has no definition." -link: 'https://docs.microsoft.com/en-us/style-guide/acronyms' +link: https://docs.microsoft.com/en-us/style-guide/acronyms level: suggestion ignorecase: false # Ensures that the existence of 'first' implies the existence of 'second'. diff --git a/CI/vale_styles/Microsoft/Adverbs.yml b/CI/vale/vale_styles/Microsoft/Adverbs.yml similarity index 99% rename from CI/vale_styles/Microsoft/Adverbs.yml rename to CI/vale/vale_styles/Microsoft/Adverbs.yml index ffd4e8d8ae4..07d98d83e30 100644 --- a/CI/vale_styles/Microsoft/Adverbs.yml +++ b/CI/vale/vale_styles/Microsoft/Adverbs.yml @@ -3,6 +3,8 @@ message: "Consider removing '%s'." link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences ignorecase: true level: warning +action: + name: remove tokens: - abnormally - absentmindedly diff --git a/CI/vale/vale_styles/Microsoft/Auto.yml b/CI/vale/vale_styles/Microsoft/Auto.yml new file mode 100644 index 00000000000..4da4393530d --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/Auto.yml @@ -0,0 +1,11 @@ +extends: existence +message: "In general, don't hyphenate '%s'." +link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/auto +ignorecase: true +level: error +action: + name: convert + params: + - simple +tokens: + - 'auto-\w+' diff --git a/CI/vale_styles/Microsoft/Avoid.yml b/CI/vale/vale_styles/Microsoft/Avoid.yml similarity index 88% rename from CI/vale_styles/Microsoft/Avoid.yml rename to CI/vale/vale_styles/Microsoft/Avoid.yml index 28967e68abe..6d54d0c9e4b 100644 --- a/CI/vale_styles/Microsoft/Avoid.yml +++ b/CI/vale/vale_styles/Microsoft/Avoid.yml @@ -1,17 +1,18 @@ extends: existence -message: Don't use '%s'. +message: "Don't use '%s'." link: https://docs.microsoft.com/en-us/style-guide ignorecase: true level: error tokens: + - abortion - and so on - and/or - app developer + - app(?:lication)? file - application developer - application program - applications developer - - app(?:lication)? file - as well as - ask - backbone - - abortion + - backend diff --git a/CI/vale/vale_styles/Microsoft/Backend.yml b/CI/vale/vale_styles/Microsoft/Backend.yml new file mode 100644 index 00000000000..93c533439b5 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/Backend.yml @@ -0,0 +1,12 @@ +extends: substitution +message: "Use '%s' instead of '%s'." +level: warning +link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/back-end +# Use 'back end' (noun) or 'back-end' (adj). +pos: 'back-end/NN|backend/(?:JJ|NN)|back/\w+ end/JJ|back/(?:JJ|RB) end/\w+' +ignorecase: true +action: + name: replace +swap: + back-end: back end + back end: back-end diff --git a/CI/vale/vale_styles/Microsoft/ComplexWords.yml b/CI/vale/vale_styles/Microsoft/ComplexWords.yml new file mode 100644 index 00000000000..65b7a347215 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/ComplexWords.yml @@ -0,0 +1,120 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences +ignorecase: true +level: suggestion +action: + name: replace +swap: + "approximate(?:ly)?": about + abundance: plenty + accelerate: speed up + accentuate: stress + accompany: go with + accomplish: carry out|do + accorded: given + accordingly: so + accrue: add + accurate: right|exact + acquiesce: agree + acquire: get|buy + additional: more|extra + address: discuss + addressees: you + adjacent to: next to + adjustment: change + admissible: allowed + advantageous: helpful + advise: tell + aggregate: total + aircraft: plane + alleviate: ease + allocate: assign|divide + alternatively: or + alternatives: choices|options + ameliorate: improve + amend: change + anticipate: expect + apparent: clear|plain + ascertain: discover|find out + assistance: help + attain: meet + attempt: try + authorize: allow + belated: late + bestow: give + cease: stop|end + collaborate: work together + commence: begin + compensate: pay + component: part + comprise: form|include + concept: idea + concerning: about + confer: give|award + consequently: so + consolidate: merge + constitutes: forms + contains: has + convene: meet + demonstrate: show|prove + depart: leave + designate: choose + desire: want|wish + determine: decide|find + detrimental: bad|harmful + disclose: share|tell + discontinue: stop + disseminate: send|give + eliminate: end + elucidate: explain + employ: use + enclosed: inside|included + encounter: meet + endeavor: try + enumerate: count + equitable: fair + equivalent: equal + exclusively: only + expedite: hurry + facilitate: ease + females: women + finalize: complete|finish + frequently: often + identical: same + incorrect: wrong + indication: sign + initiate: start|begin + itemized: listed + jeopardize: risk + liaise: work with|partner with + maintain: keep|support + methodology: method + modify: change + monitor: check|watch + multiple: many + necessitate: cause + notify: tell + numerous: many + objective: aim|goal + obligate: bind|compel + optimum: best|most + permit: let + portion: part + possess: own + previous: earlier + previously: before + prioritize: rank + procure: buy + provide: give|offer + purchase: buy + relocate: move + solicit: request + state-of-the-art: latest + subsequent: later|next + substantial: large + sufficient: enough + terminate: end + transmit: send + utilization: use + utilize: use diff --git a/CI/vale_styles/Microsoft/Contractions.yml b/CI/vale/vale_styles/Microsoft/Contractions.yml similarity index 89% rename from CI/vale_styles/Microsoft/Contractions.yml rename to CI/vale/vale_styles/Microsoft/Contractions.yml index 8c0605b7a6b..fffd2d9c9a8 100644 --- a/CI/vale_styles/Microsoft/Contractions.yml +++ b/CI/vale/vale_styles/Microsoft/Contractions.yml @@ -1,8 +1,10 @@ extends: substitution -message: 'Use "%s" instead of "%s".' +message: "Use '%s' instead of '%s'." link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-contractions level: error ignorecase: true +action: + name: replace swap: are not: aren't cannot: can't diff --git a/CI/vale_styles/Microsoft/Dashes.yml b/CI/vale/vale_styles/Microsoft/Dashes.yml similarity index 79% rename from CI/vale_styles/Microsoft/Dashes.yml rename to CI/vale/vale_styles/Microsoft/Dashes.yml index 08e125e2633..0236142e372 100644 --- a/CI/vale_styles/Microsoft/Dashes.yml +++ b/CI/vale/vale_styles/Microsoft/Dashes.yml @@ -4,5 +4,10 @@ link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/em ignorecase: true nonword: true level: error +action: + name: edit + params: + - remove + - ' ' tokens: - '\s[—–]\s' diff --git a/CI/vale_styles/Microsoft/DateFormat.yml b/CI/vale/vale_styles/Microsoft/DateFormat.yml similarity index 100% rename from CI/vale_styles/Microsoft/DateFormat.yml rename to CI/vale/vale_styles/Microsoft/DateFormat.yml diff --git a/CI/vale/vale_styles/Microsoft/DateNumbers.yml b/CI/vale/vale_styles/Microsoft/DateNumbers.yml new file mode 100644 index 00000000000..14d46747ca2 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/DateNumbers.yml @@ -0,0 +1,40 @@ +extends: existence +message: "Don't use ordinal numbers for dates." +link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates +level: error +nonword: true +ignorecase: true +raw: + - \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?)\b\s* +tokens: + - first + - second + - third + - fourth + - fifth + - sixth + - seventh + - eighth + - ninth + - tenth + - eleventh + - twelfth + - thirteenth + - fourteenth + - fifteenth + - sixteenth + - seventeenth + - eighteenth + - nineteenth + - twentieth + - twenty-first + - twenty-second + - twenty-third + - twenty-fourth + - twenty-fifth + - twenty-sixth + - twenty-seventh + - twenty-eighth + - twenty-ninth + - thirtieth + - thirty-first diff --git a/CI/vale_styles/Microsoft/DateOrder.yml b/CI/vale/vale_styles/Microsoft/DateOrder.yml similarity index 78% rename from CI/vale_styles/Microsoft/DateOrder.yml rename to CI/vale/vale_styles/Microsoft/DateOrder.yml index 0dbca2077b2..12d69ba51e4 100644 --- a/CI/vale_styles/Microsoft/DateOrder.yml +++ b/CI/vale/vale_styles/Microsoft/DateOrder.yml @@ -1,5 +1,5 @@ extends: existence -message: Always spell out the name of the month. +message: "Always spell out the name of the month." link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates ignorecase: true level: error diff --git a/CI/vale_styles/Microsoft/Ellipses.yml b/CI/vale/vale_styles/Microsoft/Ellipses.yml similarity index 67% rename from CI/vale_styles/Microsoft/Ellipses.yml rename to CI/vale/vale_styles/Microsoft/Ellipses.yml index c5a9674e133..320457a8bc5 100644 --- a/CI/vale_styles/Microsoft/Ellipses.yml +++ b/CI/vale/vale_styles/Microsoft/Ellipses.yml @@ -1,7 +1,9 @@ extends: existence -message: "In general, don’t use an ellipsis." +message: "In general, don't use an ellipsis." link: https://docs.microsoft.com/en-us/style-guide/punctuation/ellipses nonword: true level: warning +action: + name: remove tokens: - '\.\.\.' diff --git a/CI/vale/vale_styles/Microsoft/FirstPerson.yml b/CI/vale/vale_styles/Microsoft/FirstPerson.yml new file mode 100644 index 00000000000..34dcbb8bb27 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/FirstPerson.yml @@ -0,0 +1,13 @@ +extends: existence +message: "Use first person (such as '%s') sparingly." +link: https://docs.microsoft.com/en-us/style-guide/grammar/person +ignorecase: true +level: warning +nonword: true +tokens: + - (?:^|\s)I\s + - (?:^|\s)I,\s + - \bI'm\b + - \bme\b + - \bmy\b + - \bmine\b diff --git a/CI/vale_styles/Microsoft/Foreign.yml b/CI/vale/vale_styles/Microsoft/Foreign.yml similarity index 80% rename from CI/vale_styles/Microsoft/Foreign.yml rename to CI/vale/vale_styles/Microsoft/Foreign.yml index 47899dfe268..d37835a5d93 100644 --- a/CI/vale_styles/Microsoft/Foreign.yml +++ b/CI/vale/vale_styles/Microsoft/Foreign.yml @@ -1,9 +1,11 @@ extends: substitution -message: 'Use "%s" instead of "%s".' +message: "Use '%s' instead of '%s'." link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-us-spelling-avoid-non-english-words ignorecase: true level: error nonword: true +action: + name: replace swap: '\b(?:eg|e\.g\.)[\s,]': for example '\b(?:ie|i\.e\.)[\s,]': that is diff --git a/CI/vale_styles/Microsoft/Gender.yml b/CI/vale/vale_styles/Microsoft/Gender.yml similarity index 88% rename from CI/vale_styles/Microsoft/Gender.yml rename to CI/vale/vale_styles/Microsoft/Gender.yml index 21e63962b8f..47c08024797 100644 --- a/CI/vale_styles/Microsoft/Gender.yml +++ b/CI/vale/vale_styles/Microsoft/Gender.yml @@ -1,5 +1,5 @@ extends: existence -message: Don’t use '%s'. +message: "Don't use '%s'." link: https://github.com/MicrosoftDocs/microsoft-style-guide/blob/master/styleguide/grammar/nouns-pronouns.md#pronouns-and-gender level: error ignorecase: true diff --git a/CI/vale/vale_styles/Microsoft/GenderBias.yml b/CI/vale/vale_styles/Microsoft/GenderBias.yml new file mode 100644 index 00000000000..3d873aa31d0 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/GenderBias.yml @@ -0,0 +1,44 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +ignorecase: true +level: error +swap: + (?:alumna|alumnus): graduate + (?:alumnae|alumni): graduates + air(?:m[ae]n|wom[ae]n): pilot(s) + anchor(?:m[ae]n|wom[ae]n): anchor(s) + authoress: author + camera(?:m[ae]n|wom[ae]n): camera operator(s) + chair(?:m[ae]n|wom[ae]n): chair(s) + congress(?:m[ae]n|wom[ae]n): member(s) of congress + door(?:m[ae]|wom[ae]n): concierge(s) + draft(?:m[ae]n|wom[ae]n): drafter(s) + fire(?:m[ae]n|wom[ae]n): firefighter(s) + fisher(?:m[ae]n|wom[ae]n): fisher(s) + fresh(?:m[ae]n|wom[ae]n): first-year student(s) + garbage(?:m[ae]n|wom[ae]n): waste collector(s) + lady lawyer: lawyer + ladylike: courteous + landlord: building manager + mail(?:m[ae]n|wom[ae]n): mail carriers + man and wife: husband and wife + man enough: strong enough + mankind: human kind + manmade: manufactured + manpower: personnel + men and girls: men and women + middle(?:m[ae]n|wom[ae]n): intermediary + news(?:m[ae]n|wom[ae]n): journalist(s) + ombuds(?:man|woman): ombuds + oneupmanship: upstaging + poetess: poet + police(?:m[ae]n|wom[ae]n): police officer(s) + repair(?:m[ae]n|wom[ae]n): technician(s) + sales(?:m[ae]n|wom[ae]n): salesperson or sales people + service(?:m[ae]n|wom[ae]n): soldier(s) + steward(?:ess)?: flight attendant + tribes(?:m[ae]n|wom[ae]n): tribe member(s) + waitress: waiter + woman doctor: doctor + woman scientist[s]?: scientist(s) + work(?:m[ae]n|wom[ae]n): worker(s) diff --git a/CI/vale/vale_styles/Microsoft/GeneralURL.yml b/CI/vale/vale_styles/Microsoft/GeneralURL.yml new file mode 100644 index 00000000000..dcef503d995 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/GeneralURL.yml @@ -0,0 +1,11 @@ +extends: existence +message: "For a general audience, use 'address' rather than 'URL'." +link: https://docs.microsoft.com/en-us/style-guide/urls-web-addresses +level: warning +action: + name: replace + params: + - URL + - address +tokens: + - URL diff --git a/CI/vale_styles/Microsoft/HeadingAcronyms.yml b/CI/vale/vale_styles/Microsoft/HeadingAcronyms.yml similarity index 76% rename from CI/vale_styles/Microsoft/HeadingAcronyms.yml rename to CI/vale/vale_styles/Microsoft/HeadingAcronyms.yml index 59ddfa8dbbd..9dc3b6c2de7 100644 --- a/CI/vale_styles/Microsoft/HeadingAcronyms.yml +++ b/CI/vale/vale_styles/Microsoft/HeadingAcronyms.yml @@ -1,5 +1,5 @@ extends: existence -message: Avoid using acronyms in a title or heading. +message: "Avoid using acronyms in a title or heading." link: https://docs.microsoft.com/en-us/style-guide/acronyms#be-careful-with-acronyms-in-titles-and-headings level: warning scope: heading diff --git a/CI/vale_styles/Microsoft/HeadingColons.yml b/CI/vale/vale_styles/Microsoft/HeadingColons.yml similarity index 84% rename from CI/vale_styles/Microsoft/HeadingColons.yml rename to CI/vale/vale_styles/Microsoft/HeadingColons.yml index 2944d67e224..7013c391486 100644 --- a/CI/vale_styles/Microsoft/HeadingColons.yml +++ b/CI/vale/vale_styles/Microsoft/HeadingColons.yml @@ -1,5 +1,5 @@ extends: existence -message: Capitalize '%s'." +message: "Capitalize '%s'." link: https://docs.microsoft.com/en-us/style-guide/punctuation/colons nonword: true level: error diff --git a/CI/vale_styles/Microsoft/HeadingPunctuation.yml b/CI/vale/vale_styles/Microsoft/HeadingPunctuation.yml similarity index 61% rename from CI/vale_styles/Microsoft/HeadingPunctuation.yml rename to CI/vale/vale_styles/Microsoft/HeadingPunctuation.yml index 3c86cb723cb..7873a9119b9 100644 --- a/CI/vale_styles/Microsoft/HeadingPunctuation.yml +++ b/CI/vale/vale_styles/Microsoft/HeadingPunctuation.yml @@ -1,8 +1,13 @@ extends: existence -message: "Don’t use end punctuation in headings." +message: "Don't use end punctuation in headings." link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods nonword: true level: warning scope: heading +action: + name: edit + params: + - remove + - '.?!' tokens: - '[a-z0-9][.?!](?:\s|$)' diff --git a/CI/vale_styles/Microsoft/Headings.yml b/CI/vale/vale_styles/Microsoft/Headings.yml similarity index 84% rename from CI/vale_styles/Microsoft/Headings.yml rename to CI/vale/vale_styles/Microsoft/Headings.yml index 7b683636a79..63624edc1b4 100644 --- a/CI/vale_styles/Microsoft/Headings.yml +++ b/CI/vale/vale_styles/Microsoft/Headings.yml @@ -1,6 +1,6 @@ extends: capitalization message: "'%s' should use sentence-style capitalization." -link: 'https://docs.microsoft.com/en-us/style-guide/capitalization' +link: https://docs.microsoft.com/en-us/style-guide/capitalization level: suggestion scope: heading match: $sentence diff --git a/CI/vale_styles/Microsoft/Hyphens.yml b/CI/vale/vale_styles/Microsoft/Hyphens.yml similarity index 77% rename from CI/vale_styles/Microsoft/Hyphens.yml rename to CI/vale/vale_styles/Microsoft/Hyphens.yml index de7b64a65e9..90bbb5def98 100644 --- a/CI/vale_styles/Microsoft/Hyphens.yml +++ b/CI/vale/vale_styles/Microsoft/Hyphens.yml @@ -4,5 +4,11 @@ link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/hy level: warning ignorecase: false nonword: true +action: + name: edit + params: + - replace + - '-' + - ' ' tokens: - '\s[^\s-]+ly-' diff --git a/CI/vale_styles/Microsoft/LICENSE b/CI/vale/vale_styles/Microsoft/LICENSE similarity index 100% rename from CI/vale_styles/Microsoft/LICENSE rename to CI/vale/vale_styles/Microsoft/LICENSE diff --git a/CI/vale/vale_styles/Microsoft/Negative.yml b/CI/vale/vale_styles/Microsoft/Negative.yml new file mode 100644 index 00000000000..d6ff2f22439 --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/Negative.yml @@ -0,0 +1,13 @@ +extends: existence +message: "Form a negative number with an en dash, not a hyphen." +link: https://docs.microsoft.com/en-us/style-guide/numbers +nonword: true +level: error +action: + name: edit + params: + - replace + - '-' + - '–' +tokens: + - '\s-\d+\s' diff --git a/CI/vale_styles/Microsoft/Ordinal.yml b/CI/vale/vale_styles/Microsoft/Ordinal.yml similarity index 58% rename from CI/vale_styles/Microsoft/Ordinal.yml rename to CI/vale/vale_styles/Microsoft/Ordinal.yml index 3cb9ecde94b..e3483e380c7 100644 --- a/CI/vale_styles/Microsoft/Ordinal.yml +++ b/CI/vale/vale_styles/Microsoft/Ordinal.yml @@ -1,7 +1,12 @@ extends: existence -message: Don’t add -ly to an ordinal number. +message: "Don't add -ly to an ordinal number." link: https://docs.microsoft.com/en-us/style-guide/numbers level: error +action: + name: edit + params: + - trim + - ly tokens: - firstly - secondly diff --git a/CI/vale/vale_styles/Microsoft/OxfordComma.yml b/CI/vale/vale_styles/Microsoft/OxfordComma.yml new file mode 100644 index 00000000000..84ab6578b3f --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/OxfordComma.yml @@ -0,0 +1,7 @@ +extends: existence +message: "Use the Oxford comma in '%s'." +link: https://docs.microsoft.com/en-us/style-guide/punctuation/commas +scope: sentence +level: warning +tokens: + - '(?:[^,]+,){1,}\s\w+\s(?:and|or)' diff --git a/CI/vale_styles/Microsoft/Passive.yml b/CI/vale/vale_styles/Microsoft/Passive.yml similarity index 100% rename from CI/vale_styles/Microsoft/Passive.yml rename to CI/vale/vale_styles/Microsoft/Passive.yml diff --git a/CI/vale_styles/Microsoft/Percentages.yml b/CI/vale/vale_styles/Microsoft/Percentages.yml similarity index 77% rename from CI/vale_styles/Microsoft/Percentages.yml rename to CI/vale/vale_styles/Microsoft/Percentages.yml index 855d087d999..b68a7363f47 100644 --- a/CI/vale_styles/Microsoft/Percentages.yml +++ b/CI/vale/vale_styles/Microsoft/Percentages.yml @@ -1,5 +1,5 @@ extends: existence -message: Use a numeral plus the units. +message: "Use a numeral plus the units." link: https://docs.microsoft.com/en-us/style-guide/numbers nonword: true level: error diff --git a/CI/vale_styles/Microsoft/Quotes.yml b/CI/vale/vale_styles/Microsoft/Quotes.yml similarity index 100% rename from CI/vale_styles/Microsoft/Quotes.yml rename to CI/vale/vale_styles/Microsoft/Quotes.yml diff --git a/CI/vale_styles/Microsoft/RangeFormat.yml b/CI/vale/vale_styles/Microsoft/RangeFormat.yml similarity index 54% rename from CI/vale_styles/Microsoft/RangeFormat.yml rename to CI/vale/vale_styles/Microsoft/RangeFormat.yml index 313838aafee..f1d736e9de4 100644 --- a/CI/vale_styles/Microsoft/RangeFormat.yml +++ b/CI/vale/vale_styles/Microsoft/RangeFormat.yml @@ -1,7 +1,13 @@ extends: existence -message: Use an en dash in a range of numbers. +message: "Use an en dash in a range of numbers." link: https://docs.microsoft.com/en-us/style-guide/numbers nonword: true level: error +action: + name: edit + params: + - replace + - '-' + - '–' tokens: - '\b\d+\s?[-]\s?\d+\b' diff --git a/CI/vale_styles/Microsoft/RangeTime.yml b/CI/vale/vale_styles/Microsoft/RangeTime.yml similarity index 56% rename from CI/vale_styles/Microsoft/RangeTime.yml rename to CI/vale/vale_styles/Microsoft/RangeTime.yml index 2cd6a1c38f2..cdd4b3346e2 100644 --- a/CI/vale_styles/Microsoft/RangeTime.yml +++ b/CI/vale/vale_styles/Microsoft/RangeTime.yml @@ -1,7 +1,13 @@ extends: existence -message: Use 'to' instead of a dash in '%s'. +message: "Use 'to' instead of a dash in '%s'." link: https://docs.microsoft.com/en-us/style-guide/numbers nonword: true level: error +action: + name: edit + params: + - replace + - '[-–]' + - 'to' tokens: - '\b(?:AM|PM)\s?[-–]\s?.+(?:AM|PM)\b' diff --git a/CI/vale_styles/Microsoft/Ranges.yml b/CI/vale/vale_styles/Microsoft/Ranges.yml similarity index 100% rename from CI/vale_styles/Microsoft/Ranges.yml rename to CI/vale/vale_styles/Microsoft/Ranges.yml diff --git a/CI/vale_styles/Microsoft/Semicolon.yml b/CI/vale/vale_styles/Microsoft/Semicolon.yml similarity index 100% rename from CI/vale_styles/Microsoft/Semicolon.yml rename to CI/vale/vale_styles/Microsoft/Semicolon.yml diff --git a/CI/vale_styles/Microsoft/SentenceLength.yml b/CI/vale/vale_styles/Microsoft/SentenceLength.yml similarity index 60% rename from CI/vale_styles/Microsoft/SentenceLength.yml rename to CI/vale/vale_styles/Microsoft/SentenceLength.yml index 4502bf52a4e..f248cf0513b 100644 --- a/CI/vale_styles/Microsoft/SentenceLength.yml +++ b/CI/vale/vale_styles/Microsoft/SentenceLength.yml @@ -1,5 +1,5 @@ -message: Try to keep sentences short (< 30 words). extends: occurrence +message: "Try to keep sentences short (< 30 words)." scope: sentence level: suggestion max: 30 diff --git a/CI/vale_styles/Microsoft/Spacing.yml b/CI/vale/vale_styles/Microsoft/Spacing.yml similarity index 100% rename from CI/vale_styles/Microsoft/Spacing.yml rename to CI/vale/vale_styles/Microsoft/Spacing.yml diff --git a/CI/vale_styles/Microsoft/Suspended.yml b/CI/vale/vale_styles/Microsoft/Suspended.yml similarity index 100% rename from CI/vale_styles/Microsoft/Suspended.yml rename to CI/vale/vale_styles/Microsoft/Suspended.yml diff --git a/CI/vale_styles/Microsoft/Terms.yml b/CI/vale/vale_styles/Microsoft/Terms.yml similarity index 97% rename from CI/vale_styles/Microsoft/Terms.yml rename to CI/vale/vale_styles/Microsoft/Terms.yml index b87495ee1d0..e41ff74b7a4 100644 --- a/CI/vale_styles/Microsoft/Terms.yml +++ b/CI/vale/vale_styles/Microsoft/Terms.yml @@ -2,6 +2,8 @@ extends: substitution message: "Prefer '%s' over '%s'." level: warning ignorecase: true +action: + name: replace swap: '(?:agent|virtual assistant|intelligent personal assistant)': personal digital assistant '(?:drive C:|drive C>|C: drive)': drive C diff --git a/CI/vale_styles/Microsoft/URLFormat.yml b/CI/vale/vale_styles/Microsoft/URLFormat.yml similarity index 60% rename from CI/vale_styles/Microsoft/URLFormat.yml rename to CI/vale/vale_styles/Microsoft/URLFormat.yml index 5e5fdbc19a9..82e702f9817 100644 --- a/CI/vale_styles/Microsoft/URLFormat.yml +++ b/CI/vale/vale_styles/Microsoft/URLFormat.yml @@ -1,7 +1,9 @@ extends: substitution -message: Use '%s' instead of '%s'. +message: "Use '%s' instead of '%s'." ignorecase: true level: error +action: + name: replace swap: URL for: URL of an URL: a URL diff --git a/CI/vale_styles/Microsoft/Units.yml b/CI/vale/vale_styles/Microsoft/Units.yml similarity index 100% rename from CI/vale_styles/Microsoft/Units.yml rename to CI/vale/vale_styles/Microsoft/Units.yml diff --git a/CI/vale_styles/Microsoft/Vocab.yml b/CI/vale/vale_styles/Microsoft/Vocab.yml similarity index 95% rename from CI/vale_styles/Microsoft/Vocab.yml rename to CI/vale/vale_styles/Microsoft/Vocab.yml index c46fdc91f4f..4e5dbb58de3 100644 --- a/CI/vale_styles/Microsoft/Vocab.yml +++ b/CI/vale/vale_styles/Microsoft/Vocab.yml @@ -19,3 +19,5 @@ tokens: - he - insure - she + - sample + - beta diff --git a/CI/vale_styles/Microsoft/We.yml b/CI/vale/vale_styles/Microsoft/We.yml similarity index 60% rename from CI/vale_styles/Microsoft/We.yml rename to CI/vale/vale_styles/Microsoft/We.yml index e18edf46285..97c901c1bae 100644 --- a/CI/vale_styles/Microsoft/We.yml +++ b/CI/vale/vale_styles/Microsoft/We.yml @@ -1,7 +1,11 @@ extends: existence -message: Try to avoid using first-person plural like '%s'. +message: "Try to avoid using first-person plural like '%s'." link: https://docs.microsoft.com/en-us/style-guide/grammar/person#avoid-first-person-plural level: warning ignorecase: true tokens: - we + - we'(?:ve|re) + - ours? + - us + - let's diff --git a/CI/vale_styles/Microsoft/Wordiness.yml b/CI/vale/vale_styles/Microsoft/Wordiness.yml similarity index 93% rename from CI/vale_styles/Microsoft/Wordiness.yml rename to CI/vale/vale_styles/Microsoft/Wordiness.yml index 83011a5b09f..22a4c932c8a 100644 --- a/CI/vale_styles/Microsoft/Wordiness.yml +++ b/CI/vale/vale_styles/Microsoft/Wordiness.yml @@ -1,15 +1,16 @@ extends: substitution -message: 'Consider using "%s" instead of "%s".' +message: "Consider using '%s' instead of '%s'." link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences ignorecase: true level: warning +action: + name: replace swap: (?:give|gave) rise to: lead to (?:previous|prior) to: before a (?:large)? majority of: most a (?:large)? number of: many a myriad of: myriad - adequate number: enough adversely impact: hurt all across: across all of a sudden: suddenly @@ -19,6 +20,7 @@ swap: almost all: most almost never: seldom along the lines of: similar to + an adequate number of: enough an appreciable number of: many an estimated: about any and all: all @@ -37,7 +39,7 @@ swap: basic necessity: necessity because of the fact that: because came to a realization: realized - came to an abrupt end: end[ed] abruptly + came to an abrupt end: ended abruptly carry out an evaluation of: evaluate close down: close closed down: closed @@ -50,6 +52,8 @@ swap: continue on: continue despite the fact that: although disappear from sight: disappear + drag and drop: drag + drag-and-drop: drag doomed to fail: doomed due to the fact that: because during the period of: during @@ -62,7 +66,7 @@ swap: fell down: fell for the duration of: during gather together: gather - has the ability: can + has the ability to: can has the capacity to: can has the opportunity to: could hold a meeting: meet @@ -114,7 +118,5 @@ swap: until such time as: until used for fuel purposes: used for fuel whether or not: whether - with reference to: about with regard to: regarding - with respect to: about or on with the exception of: except for diff --git a/CI/vale/vale_styles/Microsoft/meta.json b/CI/vale/vale_styles/Microsoft/meta.json new file mode 100644 index 00000000000..297719bbbff --- /dev/null +++ b/CI/vale/vale_styles/Microsoft/meta.json @@ -0,0 +1,4 @@ +{ + "feed": "https://github.com/errata-ai/Microsoft/releases.atom", + "vale_version": ">=1.0.0" +} diff --git a/CI/vale_styles/Microsoft/vocab.txt b/CI/vale/vale_styles/Microsoft/vocab.txt similarity index 100% rename from CI/vale_styles/Microsoft/vocab.txt rename to CI/vale/vale_styles/Microsoft/vocab.txt diff --git a/CI/vale/vale_styles/README.md b/CI/vale/vale_styles/README.md new file mode 100644 index 00000000000..03967fb3054 --- /dev/null +++ b/CI/vale/vale_styles/README.md @@ -0,0 +1,13 @@ +# Vale Styles + +Styles in this directory are all from external sources except the Besu one. + +Each external style folder are licensed under the terms specified in the directory LICENCE or README.md file. + +## Versions + +External style are imported form the following releases: + +- Write-Good style: +- Proseling style: +- Microsoft style: diff --git a/CI/vale/vale_styles/Vocab/Besu/accept.txt b/CI/vale/vale_styles/Vocab/Besu/accept.txt new file mode 100644 index 00000000000..81b9c2c5aac --- /dev/null +++ b/CI/vale/vale_styles/Vocab/Besu/accept.txt @@ -0,0 +1,147 @@ +[aA]busable +Alethio +[aA]llowlist(s)? +Ansible +[aA]utogenerated +[aA]ttester(s)? +Azure +[bB]ackend +[bB]ackoff +BerkeleyDB +Besu +Bintray +[bB]lockchain(s)? +[bB]oolean(s)? +[bB]ootnode(s)? +[bB]roadcast(ing|ed) +Cakeshop +[cC]lasspath(s)? +Codefi +[cC]oinbase +[cC]onfigurability +ConsenSys +[cC]ounterpart(y|ies) +[cC]rafter +[cC]ryptocurrenc(y|ies) +ctrl +Dapp(s)? +Dev +[dD]atatype(s)? +[dD]eauthoriz(e|ing) +[eE]ncryptor(s)? +[eE]node(s)? +etcd +Ethash +Ethereum +Etherscan +Ethminer +EthSigner +Filebeat +Filecoin +Filestore(s)? +[fF]rontend +[gG]eth +GitHub +Gitter +Goerli +GoQuorum +[gG]olang +Gradle +Grafana +gRPC +[gG]?[wW]ei +HashiCorp +[hH]ashrate(s)? +Helmfile(s)? +Homebrew +[hH]ostname(s)? +Hyperledger +InfluxDB +Infura +Jasypt +Javadoc +JMeter +jnacl +Kafka +kalium +[kK]eystore(s)? +[kK]eytool(s)? +Kibana +Kotti +kubectl +libsodium +[lL]iveness +Logback +Logstash +Logrus +[mM]ainnet(s)? +(([uU]nm)|[mM])arshal(ling)? +Medalla +Merkle +MetaMask +Metricbeat +MkDocs +[mM]ultiaddresse(s)? +[mM]ultikey(s)? +[nN]amespace(s)? +Nginx +Nodejs +[nN]once(s)? +[oO]nboard(ing)? +[oO]nchain +Orion +[pP]arallelization +PegaSys +[pP]ermission(ing|ed)? +[pP]luggable +P[oO]A +Postgres +P[oO]W +[pP]recompile(d)? +[pP]reidentif(y|ied) +Prometheus +Protobuf +Prysmatic +Pushgateway +Pyrmont +[qQ]uorum +Raft +ReadTheDocs +Redis +[rR]edistributable(s)? +[rR]eentrancy +[rR]epurposing +Retesteth +Rinkeby +Ropsten +Mordor +[sS]andbox(ed|ing) +Slack +[sS]lashable +Splunk +[sS]ubcommand(s)? +[sS]ubnet(s)? +[sS]uborganization(s)? +Teku +Telegraf +[tT]estnet(s)? +tmux +[tT]oolset(s)? +[tT]rie(s)? +[tT]ruststore(s)? +[uU]pcheck +underflow(s)? +[uU]nencode(d)? +[uU]nencrypt(ed)? +[uU]ncache(d)? +[uU]ntrust(ed)? +[uU]pstream(s)? +[vV]alidator(s)? +[vV]eto(s|es)? +Web +Web3Signer +[wW]ebservice(s)? +Websocket(s)? +withdrawable +wscat +Zinken diff --git a/CI/vale/vale_styles/Vocab/Besu/reject.txt b/CI/vale/vale_styles/Vocab/Besu/reject.txt new file mode 100644 index 00000000000..208c9367c23 --- /dev/null +++ b/CI/vale/vale_styles/Vocab/Besu/reject.txt @@ -0,0 +1 @@ +automagically diff --git a/CI/vale/vale_styles/proselint/Airlinese.yml b/CI/vale/vale_styles/proselint/Airlinese.yml new file mode 100644 index 00000000000..a6ae9c193cd --- /dev/null +++ b/CI/vale/vale_styles/proselint/Airlinese.yml @@ -0,0 +1,8 @@ +extends: existence +message: "'%s' is airlinese." +ignorecase: true +level: error +tokens: + - enplan(?:e|ed|ing|ement) + - deplan(?:e|ed|ing|ement) + - taking off momentarily diff --git a/CI/vale/vale_styles/proselint/AnimalLabels.yml b/CI/vale/vale_styles/proselint/AnimalLabels.yml new file mode 100644 index 00000000000..b92e06fcb45 --- /dev/null +++ b/CI/vale/vale_styles/proselint/AnimalLabels.yml @@ -0,0 +1,48 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +level: error +action: + name: replace +swap: + (?:bull|ox)-like: taurine + (?:calf|veal)-like: vituline + (?:crow|raven)-like: corvine + (?:leopard|panther)-like: pardine + bird-like: avine + centipede-like: scolopendrine + crab-like: cancrine + crocodile-like: crocodiline + deer-like: damine + eagle-like: aquiline + earthworm-like: lumbricine + falcon-like: falconine + ferine: wild animal-like + fish-like: piscine + fox-like: vulpine + frog-like: ranine + goat-like: hircine + goose-like: anserine + gull-like: laridine + hare-like: leporine + hawk-like: accipitrine + hippopotamus-like: hippopotamine + lizard-like: lacertine + mongoose-like: viverrine + mouse-like: murine + ostrich-like: struthionine + peacock-like: pavonine + porcupine-like: hystricine + rattlesnake-like: crotaline + sable-like: zibeline + sheep-like: ovine + shrew-like: soricine + sparrow-like: passerine + swallow-like: hirundine + swine-like: suilline + tiger-like: tigrine + viper-like: viperine + vulture-like: vulturine + wasp-like: vespine + wolf-like: lupine + woodpecker-like: picine + zebra-like: zebrine diff --git a/CI/vale/vale_styles/proselint/Annotations.yml b/CI/vale/vale_styles/proselint/Annotations.yml new file mode 100644 index 00000000000..dcb24f41bca --- /dev/null +++ b/CI/vale/vale_styles/proselint/Annotations.yml @@ -0,0 +1,9 @@ +extends: existence +message: "'%s' left in text." +ignorecase: false +level: error +tokens: + - XXX + - FIXME + - TODO + - NOTE diff --git a/CI/vale/vale_styles/proselint/Apologizing.yml b/CI/vale/vale_styles/proselint/Apologizing.yml new file mode 100644 index 00000000000..11088aaa84b --- /dev/null +++ b/CI/vale/vale_styles/proselint/Apologizing.yml @@ -0,0 +1,8 @@ +extends: existence +message: "Excessive apologizing: '%s'" +ignorecase: true +level: error +action: + name: remove +tokens: + - More research is needed diff --git a/CI/vale/vale_styles/proselint/Archaisms.yml b/CI/vale/vale_styles/proselint/Archaisms.yml new file mode 100644 index 00000000000..c8df9abc938 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Archaisms.yml @@ -0,0 +1,52 @@ +extends: existence +message: "'%s' is archaic." +ignorecase: true +level: error +tokens: + - alack + - anent + - begat + - belike + - betimes + - boughten + - brocage + - brokage + - camarade + - chiefer + - chiefest + - Christiana + - completely obsolescent + - cozen + - divers + - deflexion + - fain + - forsooth + - foreclose from + - haply + - howbeit + - illumine + - in sooth + - maugre + - meseems + - methinks + - nigh + - peradventure + - perchance + - saith + - shew + - sistren + - spake + - to wit + - verily + - whilom + - withal + - wot + - enclosed please find + - please find enclosed + - enclosed herewith + - enclosed herein + - inforce + - ex postfacto + - foreclose from + - forewent + - for ever diff --git a/CI/vale/vale_styles/proselint/But.yml b/CI/vale/vale_styles/proselint/But.yml new file mode 100644 index 00000000000..0e2c32b9337 --- /dev/null +++ b/CI/vale/vale_styles/proselint/But.yml @@ -0,0 +1,8 @@ +extends: existence +message: "Do not start a paragraph with a 'but'." +level: error +scope: paragraph +action: + name: remove +tokens: + - ^But diff --git a/CI/vale/vale_styles/proselint/Cliches.yml b/CI/vale/vale_styles/proselint/Cliches.yml new file mode 100644 index 00000000000..c56183c51a0 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Cliches.yml @@ -0,0 +1,782 @@ +extends: existence +message: "'%s' is a cliche." +level: error +ignorecase: true +tokens: + - a chip off the old block + - a clean slate + - a dark and stormy night + - a far cry + - a fate worse than death + - a fine kettle of fish + - a loose cannon + - a penny saved is a penny earned + - a tough row to hoe + - a word to the wise + - ace in the hole + - acid test + - add insult to injury + - against all odds + - air your dirty laundry + - alas and alack + - all fun and games + - all hell broke loose + - all in a day's work + - all talk, no action + - all thumbs + - all your eggs in one basket + - all's fair in love and war + - all's well that ends well + - almighty dollar + - American as apple pie + - an axe to grind + - another day, another dollar + - armed to the teeth + - as luck would have it + - as old as time + - as the crow flies + - at loose ends + - at my wits end + - at the end of the day + - avoid like the plague + - babe in the woods + - back against the wall + - back in the saddle + - back to square one + - back to the drawing board + - bad to the bone + - badge of honor + - bald faced liar + - bald-faced lie + - ballpark figure + - banging your head against a brick wall + - baptism by fire + - barking up the wrong tree + - bat out of hell + - be all and end all + - beat a dead horse + - beat around the bush + - been there, done that + - beggars can't be choosers + - behind the eight ball + - bend over backwards + - benefit of the doubt + - bent out of shape + - best thing since sliced bread + - bet your bottom dollar + - better half + - better late than never + - better mousetrap + - better safe than sorry + - between a rock and a hard place + - between a rock and a hard place + - between Scylla and Charybdis + - between the devil and the deep blue see + - betwixt and between + - beyond the pale + - bide your time + - big as life + - big cheese + - big fish in a small pond + - big man on campus + - bigger they are the harder they fall + - bird in the hand + - bird's eye view + - birds and the bees + - birds of a feather flock together + - bit the hand that feeds you + - bite the bullet + - bite the dust + - bitten off more than he can chew + - black as coal + - black as pitch + - black as the ace of spades + - blast from the past + - bleeding heart + - blessing in disguise + - blind ambition + - blind as a bat + - blind leading the blind + - blissful ignorance + - blood is thicker than water + - blood sweat and tears + - blow a fuse + - blow off steam + - blow your own horn + - blushing bride + - boils down to + - bolt from the blue + - bone to pick + - bored stiff + - bored to tears + - bottomless pit + - boys will be boys + - bright and early + - brings home the bacon + - broad across the beam + - broken record + - brought back to reality + - bulk large + - bull by the horns + - bull in a china shop + - burn the midnight oil + - burning question + - burning the candle at both ends + - burst your bubble + - bury the hatchet + - busy as a bee + - but that's another story + - by hook or by crook + - call a spade a spade + - called onto the carpet + - calm before the storm + - can of worms + - can't cut the mustard + - can't hold a candle to + - case of mistaken identity + - cast aspersions + - cat got your tongue + - cat's meow + - caught in the crossfire + - caught red-handed + - chase a red herring + - checkered past + - chomping at the bit + - cleanliness is next to godliness + - clear as a bell + - clear as mud + - close to the vest + - cock and bull story + - cold shoulder + - come hell or high water + - comparing apples and oranges + - compleat + - conspicuous by its absence + - cool as a cucumber + - cool, calm, and collected + - cost a king's ransom + - count your blessings + - crack of dawn + - crash course + - creature comforts + - cross that bridge when you come to it + - crushing blow + - cry like a baby + - cry me a river + - cry over spilt milk + - crystal clear + - crystal clear + - curiosity killed the cat + - cut and dried + - cut through the red tape + - cut to the chase + - cute as a bugs ear + - cute as a button + - cute as a puppy + - cuts to the quick + - cutting edge + - dark before the dawn + - day in, day out + - dead as a doornail + - decision-making process + - devil is in the details + - dime a dozen + - divide and conquer + - dog and pony show + - dog days + - dog eat dog + - dog tired + - don't burn your bridges + - don't count your chickens + - don't look a gift horse in the mouth + - don't rock the boat + - don't step on anyone's toes + - don't take any wooden nickels + - down and out + - down at the heels + - down in the dumps + - down the hatch + - down to earth + - draw the line + - dressed to kill + - dressed to the nines + - drives me up the wall + - dubious distinction + - dull as dishwater + - duly authorized + - dyed in the wool + - eagle eye + - ear to the ground + - early bird catches the worm + - easier said than done + - easy as pie + - eat your heart out + - eat your words + - eleventh hour + - even the playing field + - every dog has its day + - every fiber of my being + - everything but the kitchen sink + - eye for an eye + - eyes peeled + - face the music + - facts of life + - fair weather friend + - fall by the wayside + - fan the flames + - far be it from me + - fast and loose + - feast or famine + - feather your nest + - feathered friends + - few and far between + - fifteen minutes of fame + - fills the bill + - filthy vermin + - fine kettle of fish + - first and foremost + - fish out of water + - fishing for a compliment + - fit as a fiddle + - fit the bill + - fit to be tied + - flash in the pan + - flat as a pancake + - flip your lid + - flog a dead horse + - fly by night + - fly the coop + - follow your heart + - for all intents and purposes + - for free + - for the birds + - for what it's worth + - force of nature + - force to be reckoned with + - forgive and forget + - fox in the henhouse + - free and easy + - free as a bird + - fresh as a daisy + - full steam ahead + - fun in the sun + - garbage in, garbage out + - gentle as a lamb + - get a kick out of + - get a leg up + - get down and dirty + - get the lead out + - get to the bottom of + - get with the program + - get your feet wet + - gets my goat + - gilding the lily + - gilding the lily + - give and take + - go against the grain + - go at it tooth and nail + - go for broke + - go him one better + - go the extra mile + - go with the flow + - goes without saying + - good as gold + - good deed for the day + - good things come to those who wait + - good time was had by all + - good times were had by all + - greased lightning + - greek to me + - green thumb + - green-eyed monster + - grist for the mill + - growing like a weed + - hair of the dog + - hand to mouth + - happy as a clam + - happy as a lark + - hasn't a clue + - have a nice day + - have a short fuse + - have high hopes + - have the last laugh + - haven't got a row to hoe + - he's got his hands full + - head honcho + - head over heels + - hear a pin drop + - heard it through the grapevine + - heart's content + - heavy as lead + - hem and haw + - high and dry + - high and mighty + - high as a kite + - his own worst enemy + - his work cut out for him + - hit paydirt + - hither and yon + - Hobson's choice + - hold your head up high + - hold your horses + - hold your own + - hold your tongue + - honest as the day is long + - horns of a dilemma + - horns of a dilemma + - horse of a different color + - hot under the collar + - hour of need + - I beg to differ + - icing on the cake + - if the shoe fits + - if the shoe were on the other foot + - if you catch my drift + - in a jam + - in a jiffy + - in a nutshell + - in a pig's eye + - in a pinch + - in a word + - in hot water + - in light of + - in the final analysis + - in the gutter + - in the last analysis + - in the nick of time + - in the thick of it + - in your dreams + - innocent bystander + - it ain't over till the fat lady sings + - it goes without saying + - it takes all kinds + - it takes one to know one + - it's a small world + - it's not what you know, it's who you know + - it's only a matter of time + - ivory tower + - Jack of all trades + - jockey for position + - jog your memory + - joined at the hip + - judge a book by its cover + - jump down your throat + - jump in with both feet + - jump on the bandwagon + - jump the gun + - jump to conclusions + - just a hop, skip, and a jump + - just the ticket + - justice is blind + - keep a stiff upper lip + - keep an eye on + - keep it simple, stupid + - keep the home fires burning + - keep up with the Joneses + - keep your chin up + - keep your fingers crossed + - kick the bucket + - kick up your heels + - kick your feet up + - kid in a candy store + - kill two birds with one stone + - kiss of death + - knock it out of the park + - knock on wood + - knock your socks off + - know him from Adam + - know the ropes + - know the score + - knuckle down + - knuckle sandwich + - knuckle under + - labor of love + - ladder of success + - land on your feet + - lap of luxury + - last but not least + - last but not least + - last hurrah + - last-ditch effort + - law of the jungle + - law of the land + - lay down the law + - leaps and bounds + - let sleeping dogs lie + - let the cat out of the bag + - let the good times roll + - let your hair down + - let's talk turkey + - letter perfect + - lick your wounds + - lies like a rug + - life's a bitch + - life's a grind + - light at the end of the tunnel + - lighter than a feather + - lighter than air + - like clockwork + - like father like son + - like taking candy from a baby + - like there's no tomorrow + - lion's share + - live and learn + - live and let live + - long and short of it + - long lost love + - look before you leap + - look down your nose + - look what the cat dragged in + - looking a gift horse in the mouth + - looks like death warmed over + - loose cannon + - lose your head + - lose your temper + - loud as a horn + - lounge lizard + - loved and lost + - low man on the totem pole + - luck of the draw + - luck of the Irish + - make a mockery of + - make hay while the sun shines + - make money hand over fist + - make my day + - make the best of a bad situation + - make the best of it + - make your blood boil + - male chauvinism + - man of few words + - man's best friend + - mark my words + - meaningful dialogue + - missed the boat on that one + - moment in the sun + - moment of glory + - moment of truth + - moment of truth + - money to burn + - more in sorrow than in anger + - more power to you + - more sinned against than sinning + - more than one way to skin a cat + - movers and shakers + - moving experience + - my better half + - naked as a jaybird + - naked truth + - neat as a pin + - needle in a haystack + - needless to say + - neither here nor there + - never look back + - never say never + - nip and tuck + - nip in the bud + - nip it in the bud + - no guts, no glory + - no love lost + - no pain, no gain + - no skin off my back + - no stone unturned + - no time like the present + - no use crying over spilled milk + - nose to the grindstone + - not a hope in hell + - not a minute's peace + - not in my backyard + - not playing with a full deck + - not the end of the world + - not written in stone + - nothing to sneeze at + - nothing ventured nothing gained + - now we're cooking + - off the top of my head + - off the wagon + - off the wall + - old hat + - olden days + - older and wiser + - older than dirt + - older than Methuselah + - on a roll + - on cloud nine + - on pins and needles + - on the bandwagon + - on the money + - on the nose + - on the rocks + - on the same page + - on the spot + - on the tip of my tongue + - on the wagon + - on thin ice + - once bitten, twice shy + - one bad apple doesn't spoil the bushel + - one born every minute + - one brick short + - one foot in the grave + - one in a million + - one red cent + - only game in town + - open a can of worms + - open and shut case + - open the flood gates + - opportunity doesn't knock twice + - out of pocket + - out of sight, out of mind + - out of the frying pan into the fire + - out of the woods + - out on a limb + - over a barrel + - over the hump + - pain and suffering + - pain in the + - panic button + - par for the course + - part and parcel + - party pooper + - pass the buck + - patience is a virtue + - pay through the nose + - penny pincher + - perfect storm + - pig in a poke + - pile it on + - pillar of the community + - pin your hopes on + - pitter patter of little feet + - plain as day + - plain as the nose on your face + - play by the rules + - play your cards right + - playing the field + - playing with fire + - pleased as punch + - plenty of fish in the sea + - point with pride + - poor as a church mouse + - pot calling the kettle black + - presidential timber + - pretty as a picture + - pull a fast one + - pull your punches + - pulled no punches + - pulling your leg + - pure as the driven snow + - put it in a nutshell + - put one over on you + - put the cart before the horse + - put the pedal to the metal + - put your best foot forward + - put your foot down + - quantum jump + - quantum leap + - quick as a bunny + - quick as a lick + - quick as a wink + - quick as lightning + - quiet as a dormouse + - rags to riches + - raining buckets + - raining cats and dogs + - rank and file + - rat race + - reap what you sow + - red as a beet + - red herring + - redound to one's credit + - redound to the benefit of + - reinvent the wheel + - rich and famous + - rings a bell + - ripe old age + - ripped me off + - rise and shine + - road to hell is paved with good intentions + - rob Peter to pay Paul + - roll over in the grave + - rub the wrong way + - ruled the roost + - running in circles + - sad but true + - sadder but wiser + - salt of the earth + - scared stiff + - scared to death + - sea change + - sealed with a kiss + - second to none + - see eye to eye + - seen the light + - seize the day + - set the record straight + - set the world on fire + - set your teeth on edge + - sharp as a tack + - shirked his duties + - shoot for the moon + - shoot the breeze + - shot in the dark + - shoulder to the wheel + - sick as a dog + - sigh of relief + - signed, sealed, and delivered + - sink or swim + - six of one, half a dozen of another + - six of one, half a dozen of the other + - skating on thin ice + - slept like a log + - slinging mud + - slippery as an eel + - slow as molasses + - smart as a whip + - smooth as a baby's bottom + - sneaking suspicion + - snug as a bug in a rug + - sow wild oats + - spare the rod, spoil the child + - speak of the devil + - spilled the beans + - spinning your wheels + - spitting image of + - spoke with relish + - spread like wildfire + - spring to life + - squeaky wheel gets the grease + - stands out like a sore thumb + - start from scratch + - stick in the mud + - still waters run deep + - stitch in time + - stop and smell the roses + - straight as an arrow + - straw that broke the camel's back + - stretched to the breaking point + - strong as an ox + - stubborn as a mule + - stuff that dreams are made of + - stuffed shirt + - sweating blood + - sweating bullets + - take a load off + - take one for the team + - take the bait + - take the bull by the horns + - take the plunge + - takes one to know one + - takes two to tango + - than you can shake a stick at + - the cream of the crop + - the cream rises to the top + - the more the merrier + - the real deal + - the real McCoy + - the red carpet treatment + - the same old story + - the straw that broke the camel's back + - there is no accounting for taste + - thick as a brick + - thick as thieves + - thick as thieves + - thin as a rail + - think outside of the box + - thinking outside the box + - third time's the charm + - this day and age + - this hurts me worse than it hurts you + - this point in time + - thought leaders? + - three sheets to the wind + - through thick and thin + - throw in the towel + - throw the baby out with the bathwater + - tie one on + - tighter than a drum + - time and time again + - time is of the essence + - tip of the iceberg + - tired but happy + - to coin a phrase + - to each his own + - to make a long story short + - to the best of my knowledge + - toe the line + - tongue in cheek + - too good to be true + - too hot to handle + - too numerous to mention + - touch with a ten foot pole + - tough as nails + - trial and error + - trials and tribulations + - tried and true + - trip down memory lane + - twist of fate + - two cents worth + - two peas in a pod + - ugly as sin + - under the counter + - under the gun + - under the same roof + - under the weather + - until the cows come home + - unvarnished truth + - up the creek + - uphill battle + - upper crust + - upset the applecart + - vain attempt + - vain effort + - vanquish the enemy + - various and sundry + - vested interest + - viable alternative + - waiting for the other shoe to drop + - wakeup call + - warm welcome + - watch your p's and q's + - watch your tongue + - watching the clock + - water under the bridge + - wax eloquent + - wax poetic + - we've got a situation here + - weather the storm + - weed them out + - week of Sundays + - went belly up + - wet behind the ears + - what goes around comes around + - what you see is what you get + - when it rains, it pours + - when push comes to shove + - when the cat's away + - when the going gets tough, the tough get going + - whet (?:the|your) appetite + - white as a sheet + - whole ball of wax + - whole hog + - whole nine yards + - wild goose chase + - will wonders never cease? + - wisdom of the ages + - wise as an owl + - wolf at the door + - wool pulled over our eyes + - words fail me + - work like a dog + - world weary + - worst nightmare + - worth its weight in gold + - writ large + - wrong side of the bed + - yanking your chain + - yappy as a dog + - years young + - you are what you eat + - you can run but you can't hide + - you only live once + - you're the boss + - young and foolish + - young and vibrant diff --git a/CI/vale/vale_styles/proselint/CorporateSpeak.yml b/CI/vale/vale_styles/proselint/CorporateSpeak.yml new file mode 100644 index 00000000000..4de8ee3f8ea --- /dev/null +++ b/CI/vale/vale_styles/proselint/CorporateSpeak.yml @@ -0,0 +1,30 @@ +extends: existence +message: "'%s' is corporate speak." +ignorecase: true +level: error +tokens: + - at the end of the day + - back to the drawing board + - hit the ground running + - get the ball rolling + - low-hanging fruit + - thrown under the bus + - think outside the box + - let's touch base + - get my manager's blessing + - it's on my radar + - ping me + - i don't have the bandwidth + - no brainer + - par for the course + - bang for your buck + - synergy + - move the goal post + - apples to apples + - win-win + - circle back around + - all hands on deck + - take this offline + - drill-down + - elephant in the room + - on my plate diff --git a/CI/vale/vale_styles/proselint/Currency.yml b/CI/vale/vale_styles/proselint/Currency.yml new file mode 100644 index 00000000000..ebd4b7d3e6e --- /dev/null +++ b/CI/vale/vale_styles/proselint/Currency.yml @@ -0,0 +1,5 @@ +extends: existence +message: "Incorrect use of symbols in '%s'." +ignorecase: true +raw: + - \$[\d]* ?(?:dollars|usd|us dollars) diff --git a/CI/vale/vale_styles/proselint/Cursing.yml b/CI/vale/vale_styles/proselint/Cursing.yml new file mode 100644 index 00000000000..e65070a91b0 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Cursing.yml @@ -0,0 +1,15 @@ +extends: existence +message: "Consider replacing '%s'." +level: error +ignorecase: true +tokens: + - shit + - piss + - fuck + - cunt + - cocksucker + - motherfucker + - tits + - fart + - turd + - twat diff --git a/CI/vale/vale_styles/proselint/DateCase.yml b/CI/vale/vale_styles/proselint/DateCase.yml new file mode 100644 index 00000000000..28c477157f4 --- /dev/null +++ b/CI/vale/vale_styles/proselint/DateCase.yml @@ -0,0 +1,7 @@ +extends: existence +message: With lowercase letters, the periods are standard. +ignorecase: true +level: error +nonword: true +tokens: + - '\d{1,2} ?[ap]m' diff --git a/CI/vale/vale_styles/proselint/DateMidnight.yml b/CI/vale/vale_styles/proselint/DateMidnight.yml new file mode 100644 index 00000000000..0130e1aefd3 --- /dev/null +++ b/CI/vale/vale_styles/proselint/DateMidnight.yml @@ -0,0 +1,7 @@ +extends: existence +message: "Use 'midnight' or 'noon'." +ignorecase: true +level: error +nonword: true +tokens: + - '12 ?[ap]\.?m\.?' diff --git a/CI/vale/vale_styles/proselint/DateRedundancy.yml b/CI/vale/vale_styles/proselint/DateRedundancy.yml new file mode 100644 index 00000000000..b1f653ea5f2 --- /dev/null +++ b/CI/vale/vale_styles/proselint/DateRedundancy.yml @@ -0,0 +1,10 @@ +extends: existence +message: "'a.m.' is always morning; 'p.m.' is always night." +ignorecase: true +level: error +nonword: true +tokens: + - '\d{1,2} ?a\.?m\.? in the morning' + - '\d{1,2} ?p\.?m\.? in the evening' + - '\d{1,2} ?p\.?m\.? at night' + - '\d{1,2} ?p\.?m\.? in the afternoon' diff --git a/CI/vale/vale_styles/proselint/DateSpacing.yml b/CI/vale/vale_styles/proselint/DateSpacing.yml new file mode 100644 index 00000000000..b7a2fd33b6c --- /dev/null +++ b/CI/vale/vale_styles/proselint/DateSpacing.yml @@ -0,0 +1,7 @@ +extends: existence +message: "It's standard to put a space before '%s'" +ignorecase: true +level: error +nonword: true +tokens: + - '\d{1,2}[ap]\.?m\.?' diff --git a/CI/vale/vale_styles/proselint/DenizenLabels.yml b/CI/vale/vale_styles/proselint/DenizenLabels.yml new file mode 100644 index 00000000000..bc3dd8abba1 --- /dev/null +++ b/CI/vale/vale_styles/proselint/DenizenLabels.yml @@ -0,0 +1,52 @@ +extends: substitution +message: Did you mean '%s'? +ignorecase: false +action: + name: replace +swap: + (?:Afrikaaner|Afrikander): Afrikaner + (?:Hong Kongite|Hong Kongian): Hong Konger + (?:Indianan|Indianian): Hoosier + (?:Michiganite|Michiganian): Michigander + (?:New Hampshireite|New Hampshireman): New Hampshirite + (?:Newcastlite|Newcastleite): Novocastrian + (?:Providencian|Providencer): Providentian + (?:Trentian|Trentonian): Tridentine + (?:Warsawer|Warsawian): Varsovian + (?:Wolverhamptonite|Wolverhamptonian): Wulfrunian + Alabaman: Alabamian + Albuquerquian: Albuquerquean + Anchoragite: Anchorageite + Arizonian: Arizonan + Arkansawyer: Arkansan + Belarusan: Belarusian + Cayman Islander: Caymanian + Coloradoan: Coloradan + Connecticuter: Nutmegger + Fairbanksian: Fairbanksan + Fort Worther: Fort Worthian + Grenadian: Grenadan + Halifaxer: Haligonian + Hartlepoolian: Hartlepudlian + Illinoisian: Illinoisan + Iowegian: Iowan + Leedsian: Leodenisian + Liverpoolian: Liverpudlian + Los Angelean: Angeleno + Manchesterian: Mancunian + Minneapolisian: Minneapolitan + Missouran: Missourian + Monacan: Monegasque + Neopolitan: Neapolitan + New Jerseyite: New Jerseyan + New Orleansian: New Orleanian + Oklahoma Citian: Oklahoma Cityan + Oklahomian: Oklahoman + Saudi Arabian: Saudi + Seattlite: Seattleite + Surinamer: Surinamese + Tallahassean: Tallahasseean + Tennesseean: Tennessean + Trois-Rivièrester: Trifluvian + Utahan: Utahn + Valladolidian: Vallisoletano diff --git a/CI/vale/vale_styles/proselint/Diacritical.yml b/CI/vale/vale_styles/proselint/Diacritical.yml new file mode 100644 index 00000000000..fd74808d9a4 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Diacritical.yml @@ -0,0 +1,96 @@ +extends: substitution +message: Consider using '%s' instead of '%s'. +ignorecase: true +level: error +action: + name: replace +swap: + beau ideal: beau idéal + boutonniere: boutonnière + bric-a-brac: bric-à-brac + cafe: café + cause celebre: cause célèbre + chevre: chèvre + cliche: cliché + consomme: consommé + coup de grace: coup de grâce + crudites: crudités + creme brulee: crème brûlée + creme de menthe: crème de menthe + creme fraice: crème fraîche + creme fresh: crème fraîche + crepe: crêpe + debutante: débutante + decor: décor + deja vu: déjà vu + denouement: dénouement + facade: façade + fiance: fiancé + fiancee: fiancée + flambe: flambé + garcon: garçon + lycee: lycée + maitre d: maître d + menage a trois: ménage à trois + negligee: négligée + protege: protégé + protegee: protégée + puree: purée + my resume: my résumé + your resume: your résumé + his resume: his résumé + her resume: her résumé + a resume: a résumé + the resume: the résumé + risque: risqué + roue: roué + soiree: soirée + souffle: soufflé + soupcon: soupçon + touche: touché + tete-a-tete: tête-à-tête + voila: voilà + a la carte: à la carte + a la mode: à la mode + emigre: émigré + + # Spanish loanwords + El Nino: El Niño + jalapeno: jalapeño + La Nina: La Niña + pina colada: piña colada + senor: señor + senora: señora + senorita: señorita + + # Portuguese loanwords + acai: açaí + + # German loanwords + doppelganger: doppelgänger + Fuhrer: Führer + Gewurztraminer: Gewürztraminer + vis-a-vis: vis-à-vis + Ubermensch: Übermensch + + # Swedish loanwords + filmjolk: filmjölk + smorgasbord: smörgåsbord + + # Names, places, and companies + Beyonce: Beyoncé + Bronte: Brontë + Bronte: Brontë + Champs-Elysees: Champs-Élysées + Citroen: Citroën + Curacao: Curaçao + Lowenbrau: Löwenbräu + Monegasque: Monégasque + Motley Crue: Mötley Crüe + Nescafe: Nescafé + Queensryche: Queensrÿche + Quebec: Québec + Quebecois: Québécois + Angstrom: Ångström + angstrom: ångström + Skoda: Škoda diff --git a/CI/vale_styles/Microsoft/GenderBias.yml b/CI/vale/vale_styles/proselint/GenderBias.yml similarity index 97% rename from CI/vale_styles/Microsoft/GenderBias.yml rename to CI/vale/vale_styles/proselint/GenderBias.yml index 4b73fa5081d..d98d3cf45f3 100644 --- a/CI/vale_styles/Microsoft/GenderBias.yml +++ b/CI/vale/vale_styles/proselint/GenderBias.yml @@ -2,9 +2,11 @@ extends: substitution message: Consider using '%s' instead of '%s'. ignorecase: true level: error +action: + name: replace swap: - (?:alumna|alumnus): graduate (?:alumnae|alumni): graduates + (?:alumna|alumnus): graduate air(?:m[ae]n|wom[ae]n): pilot(s) anchor(?:m[ae]n|wom[ae]n): anchor(s) authoress: author @@ -25,7 +27,6 @@ swap: man enough: strong enough mankind: human kind manmade: manufactured - manpower: personnel men and girls: men and women middle(?:m[ae]n|wom[ae]n): intermediary news(?:m[ae]n|wom[ae]n): journalist(s) diff --git a/CI/vale/vale_styles/proselint/GroupTerms.yml b/CI/vale/vale_styles/proselint/GroupTerms.yml new file mode 100644 index 00000000000..7a59fa48a70 --- /dev/null +++ b/CI/vale/vale_styles/proselint/GroupTerms.yml @@ -0,0 +1,39 @@ +extends: substitution +message: Consider using '%s' instead of '%s'. +ignorecase: true +action: + name: replace +swap: + (?:bunch|group|pack|flock) of chickens: brood of chickens + (?:bunch|group|pack|flock) of crows: murder of crows + (?:bunch|group|pack|flock) of hawks: cast of hawks + (?:bunch|group|pack|flock) of parrots: pandemonium of parrots + (?:bunch|group|pack|flock) of peacocks: muster of peacocks + (?:bunch|group|pack|flock) of penguins: muster of penguins + (?:bunch|group|pack|flock) of sparrows: host of sparrows + (?:bunch|group|pack|flock) of turkeys: rafter of turkeys + (?:bunch|group|pack|flock) of woodpeckers: descent of woodpeckers + (?:bunch|group|pack|herd) of apes: shrewdness of apes + (?:bunch|group|pack|herd) of baboons: troop of baboons + (?:bunch|group|pack|herd) of badgers: cete of badgers + (?:bunch|group|pack|herd) of bears: sloth of bears + (?:bunch|group|pack|herd) of bullfinches: bellowing of bullfinches + (?:bunch|group|pack|herd) of bullocks: drove of bullocks + (?:bunch|group|pack|herd) of caterpillars: army of caterpillars + (?:bunch|group|pack|herd) of cats: clowder of cats + (?:bunch|group|pack|herd) of colts: rag of colts + (?:bunch|group|pack|herd) of crocodiles: bask of crocodiles + (?:bunch|group|pack|herd) of dolphins: school of dolphins + (?:bunch|group|pack|herd) of foxes: skulk of foxes + (?:bunch|group|pack|herd) of gorillas: band of gorillas + (?:bunch|group|pack|herd) of hippopotami: bloat of hippopotami + (?:bunch|group|pack|herd) of horses: drove of horses + (?:bunch|group|pack|herd) of jellyfish: fluther of jellyfish + (?:bunch|group|pack|herd) of kangeroos: mob of kangeroos + (?:bunch|group|pack|herd) of monkeys: troop of monkeys + (?:bunch|group|pack|herd) of oxen: yoke of oxen + (?:bunch|group|pack|herd) of rhinoceros: crash of rhinoceros + (?:bunch|group|pack|herd) of wild boar: sounder of wild boar + (?:bunch|group|pack|herd) of wild pigs: drift of wild pigs + (?:bunch|group|pack|herd) of zebras: zeal of wild pigs + (?:bunch|group|pack|school) of trout: hover of trout diff --git a/CI/vale/vale_styles/proselint/Hedging.yml b/CI/vale/vale_styles/proselint/Hedging.yml new file mode 100644 index 00000000000..a8615f8bb28 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Hedging.yml @@ -0,0 +1,8 @@ +extends: existence +message: "'%s' is hedging." +ignorecase: true +level: error +tokens: + - I would argue that + - ', so to speak' + - to a certain degree diff --git a/CI/vale/vale_styles/proselint/Hyperbole.yml b/CI/vale/vale_styles/proselint/Hyperbole.yml new file mode 100644 index 00000000000..0361772ce7e --- /dev/null +++ b/CI/vale/vale_styles/proselint/Hyperbole.yml @@ -0,0 +1,6 @@ +extends: existence +message: "'%s' is hyperbolic." +level: error +nonword: true +tokens: + - '[a-z]+[!?]{2,}' diff --git a/CI/vale/vale_styles/proselint/Jargon.yml b/CI/vale/vale_styles/proselint/Jargon.yml new file mode 100644 index 00000000000..2454a9c34e8 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Jargon.yml @@ -0,0 +1,11 @@ +extends: existence +message: "'%s' is jargon." +ignorecase: true +level: error +tokens: + - in the affirmative + - in the negative + - agendize + - per your order + - per your request + - disincentivize diff --git a/CI/vale/vale_styles/proselint/LGBTOffensive.yml b/CI/vale/vale_styles/proselint/LGBTOffensive.yml new file mode 100644 index 00000000000..eaf5a84a1bd --- /dev/null +++ b/CI/vale/vale_styles/proselint/LGBTOffensive.yml @@ -0,0 +1,13 @@ +extends: existence +message: "'%s' is offensive. Remove it or consider the context." +ignorecase: true +tokens: + - fag + - faggot + - dyke + - sodomite + - homosexual agenda + - gay agenda + - transvestite + - homosexual lifestyle + - gay lifestyle diff --git a/CI/vale/vale_styles/proselint/LGBTTerms.yml b/CI/vale/vale_styles/proselint/LGBTTerms.yml new file mode 100644 index 00000000000..efdf268866c --- /dev/null +++ b/CI/vale/vale_styles/proselint/LGBTTerms.yml @@ -0,0 +1,15 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +ignorecase: true +action: + name: replace +swap: + homosexual man: gay man + homosexual men: gay men + homosexual woman: lesbian + homosexual women: lesbians + homosexual people: gay people + homosexual couple: gay couple + sexual preference: sexual orientation + (?:admitted homosexual|avowed homosexual): openly gay + special rights: equal rights diff --git a/CI/vale/vale_styles/proselint/Malapropisms.yml b/CI/vale/vale_styles/proselint/Malapropisms.yml new file mode 100644 index 00000000000..96997787a82 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Malapropisms.yml @@ -0,0 +1,8 @@ +extends: existence +message: "'%s' is a malapropism." +ignorecase: true +level: error +tokens: + - the infinitesimal universe + - a serial experience + - attack my voracity diff --git a/CI/vale/vale_styles/proselint/Needless.yml b/CI/vale/vale_styles/proselint/Needless.yml new file mode 100644 index 00000000000..807f3c753ac --- /dev/null +++ b/CI/vale/vale_styles/proselint/Needless.yml @@ -0,0 +1,361 @@ +extends: substitution +message: Prefer '%s' over '%s' +ignorecase: true +action: + name: replace +swap: + '(?:cell phone|cell-phone)': cellphone + '(?:cliquey|cliquy)': cliquish + '(?:pygmean|pygmaen)': pygmy + '(?:retributional|retributionary)': retributive + '(?:revokable|revokeable)': revocable + abolishment: abolition + accessary: accessory + accreditate: accredit + accruement: accrual + accusee: accused + acquaintanceship: acquaintance + acquitment: acquittal + administrate: administer + administrated: administered + administrating: administering + adulterate: adulterous + advisatory: advisory + advocator: advocate + aggrievance: grievance + allegator: alleger + allusory: allusive + amative: amorous + amortizement: amortization + amphiboly: amphibology + anecdotalist: anecdotist + anilinctus: anilingus + anticipative: anticipatory + antithetic: antithetical + applicative: applicable + applicatory: applicable + applier: applicator + approbative: approbatory + arbitrager: arbitrageur + arsenous: arsenious + ascendance: ascendancy + ascendence: ascendancy + ascendency: ascendancy + auctorial: authorial + averral: averment + barbwire: barbed wire + benefic: beneficent + benignant: benign + bestowment: bestowal + betrothment: betrothal + blamableness: blameworthiness + butt naked: buck naked + camarade: comrade + carta blanca: carte blanche + casualities: casualties + casuality: casualty + catch on fire: catch fire + catholicly: catholically + cease fire: ceasefire + channelize: channel + chaplainship: chaplaincy + chrysalid: chrysalis + chrysalids: chrysalises + cigaret: cigarette + coemployee: coworker + cognitional: cognitive + cohabitate: cohabit + cohabitor: cohabitant + collodium: collodion + collusory: collusive + commemoratory: commemorative + commonty: commonage + communicatory: communicative + compensative: compensatory + complacence: complacency + complicitous: complicit + computate: compute + conciliative: conciliatory + concomitancy: concomitance + condonance: condonation + confirmative: confirmatory + congruency: congruence + connotate: connote + consanguineal: consanguine + conspicuity: conspicuousness + conspiratorialist: conspirator + constitutionist: constitutionalist + contingence: contigency + contributary: contributory + contumacity: contumacy + conversible: convertible + conveyal: conveyance + copartner: partner + copartnership: partnership + corroboratory: corroborative + cotemporaneous: contemporaneous + cotemporary: contemporary + criminate: incriminate + culpatory: inculpatory + cumbrance: encumbrance + cumulate: accumulate + curatory: curative + daredeviltry: daredevilry + deceptious: deceptive + defamative: defamatory + defraudulent: fraudulent + degeneratory: degenerative + delimitate: delimit + delusory: delusive + denouncement: denunciation + depositee: depositary + depreciative: depreciatory + deprival: deprivation + derogative: derogatory + destroyable: destructible + detoxicate: detoxify + detractory: detractive + deviancy: deviance + deviationist: deviant + digamy: deuterogamy + digitalize: digitize + diminishment: diminution + diplomatist: diplomat + disassociate: dissociate + disciplinatory: disciplinary + discriminant: discriminating + disenthrone: dethrone + disintegratory: disintegrative + dismission: dismissal + disorientate: disorient + disorientated: disoriented + disquieten: disquiet + distraite: distrait + divergency: divergence + dividable: divisible + doctrinary: doctrinaire + documental: documentary + domesticize: domesticate + duplicatory: duplicative + duteous: dutiful + educationalist: educationist + educatory: educative + enigmatas: enigmas + enlargen: enlarge + enswathe: swathe + epical: epic + erotism: eroticism + ethician: ethicist + ex officiis: ex officio + exculpative: exculpatory + exigeant: exigent + exigence: exigency + exotism: exoticism + expedience: expediency + expediential: expedient + expediential: expedient + extensible: extendable + eying: eyeing + fiefdom: fief + flagrance: flagrancy + flatulency: flatulence + fraudful: fraudulent + funebrial: funereal + geographical: geographic + geometrical: geometric + gerry-rigged: jury-rigged + goatherder: goatherd + gustatorial: gustatory + habitude: habit + henceforward: henceforth + hesitance: hesitancy + heterogenous: heterogeneous + hierarchic: hierarchical + hindermost: hindmost + honorand: honoree + hypostasize: hypostatize + hysteric: hysterical + idolatrize: idolize + impanel: empanel + imperviable: impervious + importunacy: importunity + impotency: impotence + imprimatura: imprimatur + improprietous: improper + inalterable: unalterable + incitation: incitement + incommunicative: uncommunicative + inconsistence: inconsistency + incontrollable: uncontrollable + incurment: incurrence + indow: endow + indue: endue + inhibitive: inhibitory + innavigable: unnavigable + innovational: innovative + inquisitional: inquisitorial + insistment: insistence + insolvable: unsolvable + instillment: instillation + instinctual: instinctive + insuror: insurer + insurrectional: insurrectionary + interpretate: interpret + intervenience: intervention + ironical: ironic + jerry-rigged: jury-rigged + judgmatic: judgmental + labyrinthian: labyrinthine + laudative: laudatory + legitimatization: legitimation + legitimatize: legitimize + legitimization: legitimation + lengthways: lengthwise + life-sized: life-size + liquorice: licorice + lithesome: lithe + lollipop: lollypop + loth: loath + lubricous: lubricious + maihem: mayhem + medicinal marijuana: medical marijuana + meliorate: ameliorate + minimalize: minimize + mirk: murk + mirky: murky + misdoubt: doubt + monetarize: monetize + moveable: movable + narcism: narcissism + neglective: neglectful + negligency: negligence + neologizer: neologist + neurologic: neurological + nicknack: knickknack + nictate: nictitate + nonenforceable: unenforceable + normalcy: normality + numbedness: numbness + omittable: omissible + onomatopoetic: onomatopoeic + opinioned: opined + optimum advantage: optimal advantage + orientate: orient + outsized: outsize + oversized: oversize + overthrowal: overthrow + pacificist: pacifist + paederast: pederast + parachronism: anachronism + parti-color: parti-colored + participative: participatory + party-colored: parti-colored + pediatrist: pediatrician + penumbrous: penumbral + perjorative: pejorative + permissory: permissive + permutate: permute + personation: impersonation + pharmaceutic: pharmaceutical + pleuritis: pleurisy + policy holder: policyholder + policyowner: policyholder + politicalize: politicize + precedency: precedence + preceptoral: preceptorial + precipitance: precipitancy + precipitant: precipitate + preclusory: preclusive + precolumbian: pre-Columbian + prefectoral: prefectorial + preponderately: preponderantly + preserval: preservation + preventative: preventive + proconsulship: proconsulate + procreational: procreative + procurance: procurement + propelment: propulsion + propulsory: propulsive + prosecutive: prosecutory + protectory: protective + provocatory: provocative + pruriency: prurience + psychal: psychical + punitory: punitive + quantitate: quantify + questionary: questionnaire + quiescency: quiescence + rabbin: rabbi + reasonability: reasonableness + recidivistic: recidivous + recriminative: recriminatory + recruital: recruitment + recurrency: recurrence + recusance: recusancy + recusation: recusal + recusement: recusal + redemptory: redemptive + referrable: referable + referrible: referable + refutatory: refutative + remitment: remittance + remittal: remission + renouncement: renunciation + renunciable: renounceable + reparatory: reparative + repudiative: repudiatory + requitement: requital + rescindment: rescission + restoral: restoration + reticency: reticence + reviewal: review + revisal: revision + revisional: revisionary + revolute: revolt + saliency: salience + salutiferous: salutary + sensatory: sensory + sessionary: sessional + shareowner: shareholder + sicklily: sickly + signator: signatory + slanderize: slander + societary: societal + sodomist: sodomite + solicitate: solicit + speculatory: speculative + spiritous: spirituous + statutorial: statutory + submergeable: submersible + submittal: submission + subtile: subtle + succuba: succubus + sufficience: sufficiency + suppliant: supplicant + surmisal: surmise + suspendible: suspendable + synthetize: synthesize + systemize: systematize + tactual: tactile + tangental: tangential + tautologous: tautological + tee-shirt: T-shirt + thenceforward: thenceforth + transiency: transience + transposal: transposition + transposal: transposition + unfrequent: infrequent + unreasonability: unreasonableness + unrevokable: irrevocable + unsubstantial: insubstantial + usurpature: usurpation + variative: variational + vegetive: vegetative + vindicative: vindictive + vituperous: vituperative + vociferant: vociferous + volitive: volitional + wolverene: wolverine + wolvish: wolfish + Zoroastrism: Zoroastrianism + diff --git a/CI/vale/vale_styles/proselint/Nonwords.yml b/CI/vale/vale_styles/proselint/Nonwords.yml new file mode 100644 index 00000000000..57e7b9e42fd --- /dev/null +++ b/CI/vale/vale_styles/proselint/Nonwords.yml @@ -0,0 +1,38 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'." +ignorecase: true +level: error +action: + name: replace +swap: + affrontery: effrontery + analyzation: analysis + annoyment: annoyance + confirmant: confirmand + confirmants: confirmands + conversate: converse + crained: cranded + discomforture: discomfort|discomfiture + dispersement: disbursement|dispersal + doubtlessly: doubtless|undoubtedly + forebearance: forbearance + improprietous: improper + inclimate: inclement + inimicable: inimical + irregardless: regardless + minimalize: minimize + minimalized: minimized + minimalizes: minimizes + minimalizing: minimizing + optimalize: optimize + paralyzation: paralysis + pettifogger: pettifog + proprietous: proper + relative inexpense: relatively low price|affordability + seldomly: seldom + thusly: thus + uncategorically: categorically + undoubtably: undoubtedly|indubitably + unequivocable: unequivocal + unmercilessly: mercilessly + unrelentlessly: unrelentingly|relentlessly diff --git a/CI/vale/vale_styles/proselint/Oxymorons.yml b/CI/vale/vale_styles/proselint/Oxymorons.yml new file mode 100644 index 00000000000..25fd2aa5d66 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Oxymorons.yml @@ -0,0 +1,22 @@ +extends: existence +message: "'%s' is an oxymoron." +ignorecase: true +level: error +tokens: + - amateur expert + - increasingly less + - advancing backwards + - alludes explicitly to + - explicitly alludes to + - totally obsolescent + - completely obsolescent + - generally always + - usually always + - increasingly less + - build down + - conspicuous absence + - exact estimate + - found missing + - intense apathy + - mandatory choice + - organized mess diff --git a/CI/vale/vale_styles/proselint/P-Value.yml b/CI/vale/vale_styles/proselint/P-Value.yml new file mode 100644 index 00000000000..82309386f6d --- /dev/null +++ b/CI/vale/vale_styles/proselint/P-Value.yml @@ -0,0 +1,6 @@ +extends: existence +message: "You should use more decimal places, unless '%s' is really true." +ignorecase: true +level: suggestion +tokens: + - 'p = 0\.0{2,4}' diff --git a/CI/vale/vale_styles/proselint/RASSyndrome.yml b/CI/vale/vale_styles/proselint/RASSyndrome.yml new file mode 100644 index 00000000000..deae9c7d327 --- /dev/null +++ b/CI/vale/vale_styles/proselint/RASSyndrome.yml @@ -0,0 +1,30 @@ +extends: existence +message: "'%s' is redundant." +level: error +action: + name: edit + params: + - split + - ' ' + - '0' +tokens: + - ABM missile + - ACT test + - ABM missiles + - ABS braking system + - ATM machine + - CD disc + - CPI Index + - GPS system + - GUI interface + - HIV virus + - ISBN number + - LCD display + - PDF format + - PIN number + - RAS syndrome + - RIP in peace + - please RSVP + - SALT talks + - SAT test + - UPC codes diff --git a/CI/vale/vale_styles/proselint/README.md b/CI/vale/vale_styles/proselint/README.md new file mode 100644 index 00000000000..402076869f7 --- /dev/null +++ b/CI/vale/vale_styles/proselint/README.md @@ -0,0 +1,12 @@ +Copyright © 2014–2015, Jordan Suchow, Michael Pacer, and Lara A. Ross +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/CI/vale/vale_styles/proselint/Skunked.yml b/CI/vale/vale_styles/proselint/Skunked.yml new file mode 100644 index 00000000000..96a1f690ea5 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Skunked.yml @@ -0,0 +1,13 @@ +extends: existence +message: "'%s' is a bit of a skunked term — impossible to use without issue." +ignorecase: true +level: error +tokens: + - bona fides + - deceptively + - decimate + - effete + - fulsome + - hopefully + - impassionate + - Thankfully diff --git a/CI/vale/vale_styles/proselint/Spelling.yml b/CI/vale/vale_styles/proselint/Spelling.yml new file mode 100644 index 00000000000..d3c9be7b7e5 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Spelling.yml @@ -0,0 +1,17 @@ +extends: consistency +message: "Inconsistent spelling of '%s'." +level: error +ignorecase: true +either: + advisor: adviser + centre: center + colour: color + emphasise: emphasize + finalise: finalize + focussed: focused + labour: labor + learnt: learned + organise: organize + organised: organized + organising: organizing + recognise: recognize diff --git a/CI/vale/vale_styles/proselint/Typography.yml b/CI/vale/vale_styles/proselint/Typography.yml new file mode 100644 index 00000000000..60283ebf01a --- /dev/null +++ b/CI/vale/vale_styles/proselint/Typography.yml @@ -0,0 +1,11 @@ +extends: substitution +message: Consider using the '%s' symbol instead of '%s'. +level: error +nonword: true +swap: + '\.\.\.': … + '\([cC]\)': © + '\(TM\)': ™ + '\(tm\)': ™ + '\([rR]\)': ® + '[0-9]+ ?x ?[0-9]+': × diff --git a/CI/vale/vale_styles/proselint/Uncomparables.yml b/CI/vale/vale_styles/proselint/Uncomparables.yml new file mode 100644 index 00000000000..9b96f42b022 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Uncomparables.yml @@ -0,0 +1,50 @@ +extends: existence +message: "'%s' is not comparable" +ignorecase: true +level: error +action: + name: edit + params: + - split + - ' ' + - '1' +raw: + - \b(?:absolutely|most|more|less|least|very|quite|largely|extremely|increasingly|kind of|mildy|hardly|greatly|sort of)\b\s* +tokens: + - absolute + - adequate + - complete + - correct + - certain + - devoid + - entire + - 'false' + - fatal + - favorite + - final + - ideal + - impossible + - inevitable + - infinite + - irrevocable + - main + - manifest + - only + - paramount + - perfect + - perpetual + - possible + - preferable + - principal + - singular + - stationary + - sufficient + - 'true' + - unanimous + - unavoidable + - unbroken + - uniform + - unique + - universal + - void + - whole diff --git a/CI/vale/vale_styles/proselint/Very.yml b/CI/vale/vale_styles/proselint/Very.yml new file mode 100644 index 00000000000..e4077f79228 --- /dev/null +++ b/CI/vale/vale_styles/proselint/Very.yml @@ -0,0 +1,6 @@ +extends: existence +message: "Remove '%s'." +ignorecase: true +level: error +tokens: + - very diff --git a/CI/vale/vale_styles/proselint/meta.json b/CI/vale/vale_styles/proselint/meta.json new file mode 100644 index 00000000000..e3c65800b86 --- /dev/null +++ b/CI/vale/vale_styles/proselint/meta.json @@ -0,0 +1,17 @@ +{ + "author": "jdkato", + "description": "A Vale-compatible implementation of the proselint linter.", + "email": "support@errata.ai", + "lang": "en", + "url": "https://github.com/errata-ai/proselint/releases/latest/download/proselint.zip", + "feed": "https://github.com/errata-ai/proselint/releases.atom", + "issues": "https://github.com/errata-ai/proselint/issues/new", + "license": "BSD-3-Clause", + "name": "proselint", + "sources": [ + "https://github.com/amperser/proselint" + ], + "vale_version": ">=1.0.0", + "coverage": 0.0, + "version": "0.1.0" +} diff --git a/CI/vale/vale_styles/write-good/Cliches.yml b/CI/vale/vale_styles/write-good/Cliches.yml new file mode 100644 index 00000000000..c95314387ba --- /dev/null +++ b/CI/vale/vale_styles/write-good/Cliches.yml @@ -0,0 +1,702 @@ +extends: existence +message: "Try to avoid using clichés like '%s'." +ignorecase: true +level: warning +tokens: + - a chip off the old block + - a clean slate + - a dark and stormy night + - a far cry + - a fine kettle of fish + - a loose cannon + - a penny saved is a penny earned + - a tough row to hoe + - a word to the wise + - ace in the hole + - acid test + - add insult to injury + - against all odds + - air your dirty laundry + - all fun and games + - all in a day's work + - all talk, no action + - all thumbs + - all your eggs in one basket + - all's fair in love and war + - all's well that ends well + - almighty dollar + - American as apple pie + - an axe to grind + - another day, another dollar + - armed to the teeth + - as luck would have it + - as old as time + - as the crow flies + - at loose ends + - at my wits end + - avoid like the plague + - babe in the woods + - back against the wall + - back in the saddle + - back to square one + - back to the drawing board + - bad to the bone + - badge of honor + - bald faced liar + - ballpark figure + - banging your head against a brick wall + - baptism by fire + - barking up the wrong tree + - bat out of hell + - be all and end all + - beat a dead horse + - beat around the bush + - been there, done that + - beggars can't be choosers + - behind the eight ball + - bend over backwards + - benefit of the doubt + - bent out of shape + - best thing since sliced bread + - bet your bottom dollar + - better half + - better late than never + - better mousetrap + - better safe than sorry + - between a rock and a hard place + - beyond the pale + - bide your time + - big as life + - big cheese + - big fish in a small pond + - big man on campus + - bigger they are the harder they fall + - bird in the hand + - bird's eye view + - birds and the bees + - birds of a feather flock together + - bit the hand that feeds you + - bite the bullet + - bite the dust + - bitten off more than he can chew + - black as coal + - black as pitch + - black as the ace of spades + - blast from the past + - bleeding heart + - blessing in disguise + - blind ambition + - blind as a bat + - blind leading the blind + - blood is thicker than water + - blood sweat and tears + - blow off steam + - blow your own horn + - blushing bride + - boils down to + - bolt from the blue + - bone to pick + - bored stiff + - bored to tears + - bottomless pit + - boys will be boys + - bright and early + - brings home the bacon + - broad across the beam + - broken record + - brought back to reality + - bull by the horns + - bull in a china shop + - burn the midnight oil + - burning question + - burning the candle at both ends + - burst your bubble + - bury the hatchet + - busy as a bee + - by hook or by crook + - call a spade a spade + - called onto the carpet + - calm before the storm + - can of worms + - can't cut the mustard + - can't hold a candle to + - case of mistaken identity + - cat got your tongue + - cat's meow + - caught in the crossfire + - caught red-handed + - checkered past + - chomping at the bit + - cleanliness is next to godliness + - clear as a bell + - clear as mud + - close to the vest + - cock and bull story + - cold shoulder + - come hell or high water + - cool as a cucumber + - cool, calm, and collected + - cost a king's ransom + - count your blessings + - crack of dawn + - crash course + - creature comforts + - cross that bridge when you come to it + - crushing blow + - cry like a baby + - cry me a river + - cry over spilt milk + - crystal clear + - curiosity killed the cat + - cut and dried + - cut through the red tape + - cut to the chase + - cute as a bugs ear + - cute as a button + - cute as a puppy + - cuts to the quick + - dark before the dawn + - day in, day out + - dead as a doornail + - devil is in the details + - dime a dozen + - divide and conquer + - dog and pony show + - dog days + - dog eat dog + - dog tired + - don't burn your bridges + - don't count your chickens + - don't look a gift horse in the mouth + - don't rock the boat + - don't step on anyone's toes + - don't take any wooden nickels + - down and out + - down at the heels + - down in the dumps + - down the hatch + - down to earth + - draw the line + - dressed to kill + - dressed to the nines + - drives me up the wall + - dull as dishwater + - dyed in the wool + - eagle eye + - ear to the ground + - early bird catches the worm + - easier said than done + - easy as pie + - eat your heart out + - eat your words + - eleventh hour + - even the playing field + - every dog has its day + - every fiber of my being + - everything but the kitchen sink + - eye for an eye + - face the music + - facts of life + - fair weather friend + - fall by the wayside + - fan the flames + - feast or famine + - feather your nest + - feathered friends + - few and far between + - fifteen minutes of fame + - filthy vermin + - fine kettle of fish + - fish out of water + - fishing for a compliment + - fit as a fiddle + - fit the bill + - fit to be tied + - flash in the pan + - flat as a pancake + - flip your lid + - flog a dead horse + - fly by night + - fly the coop + - follow your heart + - for all intents and purposes + - for the birds + - for what it's worth + - force of nature + - force to be reckoned with + - forgive and forget + - fox in the henhouse + - free and easy + - free as a bird + - fresh as a daisy + - full steam ahead + - fun in the sun + - garbage in, garbage out + - gentle as a lamb + - get a kick out of + - get a leg up + - get down and dirty + - get the lead out + - get to the bottom of + - get your feet wet + - gets my goat + - gilding the lily + - give and take + - go against the grain + - go at it tooth and nail + - go for broke + - go him one better + - go the extra mile + - go with the flow + - goes without saying + - good as gold + - good deed for the day + - good things come to those who wait + - good time was had by all + - good times were had by all + - greased lightning + - greek to me + - green thumb + - green-eyed monster + - grist for the mill + - growing like a weed + - hair of the dog + - hand to mouth + - happy as a clam + - happy as a lark + - hasn't a clue + - have a nice day + - have high hopes + - have the last laugh + - haven't got a row to hoe + - head honcho + - head over heels + - hear a pin drop + - heard it through the grapevine + - heart's content + - heavy as lead + - hem and haw + - high and dry + - high and mighty + - high as a kite + - hit paydirt + - hold your head up high + - hold your horses + - hold your own + - hold your tongue + - honest as the day is long + - horns of a dilemma + - horse of a different color + - hot under the collar + - hour of need + - I beg to differ + - icing on the cake + - if the shoe fits + - if the shoe were on the other foot + - in a jam + - in a jiffy + - in a nutshell + - in a pig's eye + - in a pinch + - in a word + - in hot water + - in the gutter + - in the nick of time + - in the thick of it + - in your dreams + - it ain't over till the fat lady sings + - it goes without saying + - it takes all kinds + - it takes one to know one + - it's a small world + - it's only a matter of time + - ivory tower + - Jack of all trades + - jockey for position + - jog your memory + - joined at the hip + - judge a book by its cover + - jump down your throat + - jump in with both feet + - jump on the bandwagon + - jump the gun + - jump to conclusions + - just a hop, skip, and a jump + - just the ticket + - justice is blind + - keep a stiff upper lip + - keep an eye on + - keep it simple, stupid + - keep the home fires burning + - keep up with the Joneses + - keep your chin up + - keep your fingers crossed + - kick the bucket + - kick up your heels + - kick your feet up + - kid in a candy store + - kill two birds with one stone + - kiss of death + - knock it out of the park + - knock on wood + - knock your socks off + - know him from Adam + - know the ropes + - know the score + - knuckle down + - knuckle sandwich + - knuckle under + - labor of love + - ladder of success + - land on your feet + - lap of luxury + - last but not least + - last hurrah + - last-ditch effort + - law of the jungle + - law of the land + - lay down the law + - leaps and bounds + - let sleeping dogs lie + - let the cat out of the bag + - let the good times roll + - let your hair down + - let's talk turkey + - letter perfect + - lick your wounds + - lies like a rug + - life's a bitch + - life's a grind + - light at the end of the tunnel + - lighter than a feather + - lighter than air + - like clockwork + - like father like son + - like taking candy from a baby + - like there's no tomorrow + - lion's share + - live and learn + - live and let live + - long and short of it + - long lost love + - look before you leap + - look down your nose + - look what the cat dragged in + - looking a gift horse in the mouth + - looks like death warmed over + - loose cannon + - lose your head + - lose your temper + - loud as a horn + - lounge lizard + - loved and lost + - low man on the totem pole + - luck of the draw + - luck of the Irish + - make hay while the sun shines + - make money hand over fist + - make my day + - make the best of a bad situation + - make the best of it + - make your blood boil + - man of few words + - man's best friend + - mark my words + - meaningful dialogue + - missed the boat on that one + - moment in the sun + - moment of glory + - moment of truth + - money to burn + - more power to you + - more than one way to skin a cat + - movers and shakers + - moving experience + - naked as a jaybird + - naked truth + - neat as a pin + - needle in a haystack + - needless to say + - neither here nor there + - never look back + - never say never + - nip and tuck + - nip it in the bud + - no guts, no glory + - no love lost + - no pain, no gain + - no skin off my back + - no stone unturned + - no time like the present + - no use crying over spilled milk + - nose to the grindstone + - not a hope in hell + - not a minute's peace + - not in my backyard + - not playing with a full deck + - not the end of the world + - not written in stone + - nothing to sneeze at + - nothing ventured nothing gained + - now we're cooking + - off the top of my head + - off the wagon + - off the wall + - old hat + - older and wiser + - older than dirt + - older than Methuselah + - on a roll + - on cloud nine + - on pins and needles + - on the bandwagon + - on the money + - on the nose + - on the rocks + - on the spot + - on the tip of my tongue + - on the wagon + - on thin ice + - once bitten, twice shy + - one bad apple doesn't spoil the bushel + - one born every minute + - one brick short + - one foot in the grave + - one in a million + - one red cent + - only game in town + - open a can of worms + - open and shut case + - open the flood gates + - opportunity doesn't knock twice + - out of pocket + - out of sight, out of mind + - out of the frying pan into the fire + - out of the woods + - out on a limb + - over a barrel + - over the hump + - pain and suffering + - pain in the + - panic button + - par for the course + - part and parcel + - party pooper + - pass the buck + - patience is a virtue + - pay through the nose + - penny pincher + - perfect storm + - pig in a poke + - pile it on + - pillar of the community + - pin your hopes on + - pitter patter of little feet + - plain as day + - plain as the nose on your face + - play by the rules + - play your cards right + - playing the field + - playing with fire + - pleased as punch + - plenty of fish in the sea + - point with pride + - poor as a church mouse + - pot calling the kettle black + - pretty as a picture + - pull a fast one + - pull your punches + - pulling your leg + - pure as the driven snow + - put it in a nutshell + - put one over on you + - put the cart before the horse + - put the pedal to the metal + - put your best foot forward + - put your foot down + - quick as a bunny + - quick as a lick + - quick as a wink + - quick as lightning + - quiet as a dormouse + - rags to riches + - raining buckets + - raining cats and dogs + - rank and file + - rat race + - reap what you sow + - red as a beet + - red herring + - reinvent the wheel + - rich and famous + - rings a bell + - ripe old age + - ripped me off + - rise and shine + - road to hell is paved with good intentions + - rob Peter to pay Paul + - roll over in the grave + - rub the wrong way + - ruled the roost + - running in circles + - sad but true + - sadder but wiser + - salt of the earth + - scared stiff + - scared to death + - sealed with a kiss + - second to none + - see eye to eye + - seen the light + - seize the day + - set the record straight + - set the world on fire + - set your teeth on edge + - sharp as a tack + - shoot for the moon + - shoot the breeze + - shot in the dark + - shoulder to the wheel + - sick as a dog + - sigh of relief + - signed, sealed, and delivered + - sink or swim + - six of one, half a dozen of another + - skating on thin ice + - slept like a log + - slinging mud + - slippery as an eel + - slow as molasses + - smart as a whip + - smooth as a baby's bottom + - sneaking suspicion + - snug as a bug in a rug + - sow wild oats + - spare the rod, spoil the child + - speak of the devil + - spilled the beans + - spinning your wheels + - spitting image of + - spoke with relish + - spread like wildfire + - spring to life + - squeaky wheel gets the grease + - stands out like a sore thumb + - start from scratch + - stick in the mud + - still waters run deep + - stitch in time + - stop and smell the roses + - straight as an arrow + - straw that broke the camel's back + - strong as an ox + - stubborn as a mule + - stuff that dreams are made of + - stuffed shirt + - sweating blood + - sweating bullets + - take a load off + - take one for the team + - take the bait + - take the bull by the horns + - take the plunge + - takes one to know one + - takes two to tango + - the more the merrier + - the real deal + - the real McCoy + - the red carpet treatment + - the same old story + - there is no accounting for taste + - thick as a brick + - thick as thieves + - thin as a rail + - think outside of the box + - third time's the charm + - this day and age + - this hurts me worse than it hurts you + - this point in time + - three sheets to the wind + - through thick and thin + - throw in the towel + - tie one on + - tighter than a drum + - time and time again + - time is of the essence + - tip of the iceberg + - tired but happy + - to coin a phrase + - to each his own + - to make a long story short + - to the best of my knowledge + - toe the line + - tongue in cheek + - too good to be true + - too hot to handle + - too numerous to mention + - touch with a ten foot pole + - tough as nails + - trial and error + - trials and tribulations + - tried and true + - trip down memory lane + - twist of fate + - two cents worth + - two peas in a pod + - ugly as sin + - under the counter + - under the gun + - under the same roof + - under the weather + - until the cows come home + - unvarnished truth + - up the creek + - uphill battle + - upper crust + - upset the applecart + - vain attempt + - vain effort + - vanquish the enemy + - vested interest + - waiting for the other shoe to drop + - wakeup call + - warm welcome + - watch your p's and q's + - watch your tongue + - watching the clock + - water under the bridge + - weather the storm + - weed them out + - week of Sundays + - went belly up + - wet behind the ears + - what goes around comes around + - what you see is what you get + - when it rains, it pours + - when push comes to shove + - when the cat's away + - when the going gets tough, the tough get going + - white as a sheet + - whole ball of wax + - whole hog + - whole nine yards + - wild goose chase + - will wonders never cease? + - wisdom of the ages + - wise as an owl + - wolf at the door + - words fail me + - work like a dog + - world weary + - worst nightmare + - worth its weight in gold + - wrong side of the bed + - yanking your chain + - yappy as a dog + - years young + - you are what you eat + - you can run but you can't hide + - you only live once + - you're the boss + - young and foolish + - young and vibrant diff --git a/CI/vale/vale_styles/write-good/E-Prime.yml b/CI/vale/vale_styles/write-good/E-Prime.yml new file mode 100644 index 00000000000..074a102b250 --- /dev/null +++ b/CI/vale/vale_styles/write-good/E-Prime.yml @@ -0,0 +1,32 @@ +extends: existence +message: "Try to avoid using '%s'." +ignorecase: true +level: suggestion +tokens: + - am + - are + - aren't + - be + - been + - being + - he's + - here's + - here's + - how's + - i'm + - is + - isn't + - it's + - she's + - that's + - there's + - they're + - was + - wasn't + - we're + - were + - weren't + - what's + - where's + - who's + - you're diff --git a/CI/vale/vale_styles/write-good/Illusions.yml b/CI/vale/vale_styles/write-good/Illusions.yml new file mode 100644 index 00000000000..b4f13218592 --- /dev/null +++ b/CI/vale/vale_styles/write-good/Illusions.yml @@ -0,0 +1,11 @@ +extends: repetition +message: "'%s' is repeated!" +level: warning +alpha: true +action: + name: edit + params: + - truncate + - " " +tokens: + - '[^\s]+' diff --git a/CI/vale/vale_styles/write-good/Passive.yml b/CI/vale/vale_styles/write-good/Passive.yml new file mode 100644 index 00000000000..f472cb9049f --- /dev/null +++ b/CI/vale/vale_styles/write-good/Passive.yml @@ -0,0 +1,183 @@ +extends: existence +message: "'%s' may be passive voice. Use active voice if you can." +ignorecase: true +level: warning +raw: + - \b(am|are|were|being|is|been|was|be)\b\s* +tokens: + - '[\w]+ed' + - awoken + - beat + - become + - been + - begun + - bent + - beset + - bet + - bid + - bidden + - bitten + - bled + - blown + - born + - bought + - bound + - bred + - broadcast + - broken + - brought + - built + - burnt + - burst + - cast + - caught + - chosen + - clung + - come + - cost + - crept + - cut + - dealt + - dived + - done + - drawn + - dreamt + - driven + - drunk + - dug + - eaten + - fallen + - fed + - felt + - fit + - fled + - flown + - flung + - forbidden + - foregone + - forgiven + - forgotten + - forsaken + - fought + - found + - frozen + - given + - gone + - gotten + - ground + - grown + - heard + - held + - hidden + - hit + - hung + - hurt + - kept + - knelt + - knit + - known + - laid + - lain + - leapt + - learnt + - led + - left + - lent + - let + - lighted + - lost + - made + - meant + - met + - misspelt + - mistaken + - mown + - overcome + - overdone + - overtaken + - overthrown + - paid + - pled + - proven + - put + - quit + - read + - rid + - ridden + - risen + - run + - rung + - said + - sat + - sawn + - seen + - sent + - set + - sewn + - shaken + - shaven + - shed + - shod + - shone + - shorn + - shot + - shown + - shrunk + - shut + - slain + - slept + - slid + - slit + - slung + - smitten + - sold + - sought + - sown + - sped + - spent + - spilt + - spit + - split + - spoken + - spread + - sprung + - spun + - stolen + - stood + - stridden + - striven + - struck + - strung + - stuck + - stung + - stunk + - sung + - sunk + - swept + - swollen + - sworn + - swum + - swung + - taken + - taught + - thought + - thrived + - thrown + - thrust + - told + - torn + - trodden + - understood + - upheld + - upset + - wed + - wept + - withheld + - withstood + - woken + - won + - worn + - wound + - woven + - written + - wrung diff --git a/CI/vale/vale_styles/write-good/README.md b/CI/vale/vale_styles/write-good/README.md new file mode 100644 index 00000000000..3edcc9b3760 --- /dev/null +++ b/CI/vale/vale_styles/write-good/README.md @@ -0,0 +1,27 @@ +Based on [write-good](https://github.com/btford/write-good). + +> Naive linter for English prose for developers who can't write good and wanna learn to do other stuff good too. + +``` +The MIT License (MIT) + +Copyright (c) 2014 Brian Ford + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` diff --git a/CI/vale/vale_styles/write-good/So.yml b/CI/vale/vale_styles/write-good/So.yml new file mode 100644 index 00000000000..e57f099dc0b --- /dev/null +++ b/CI/vale/vale_styles/write-good/So.yml @@ -0,0 +1,5 @@ +extends: existence +message: "Don't start a sentence with '%s'." +level: error +raw: + - '(?:[;-]\s)so[\s,]|\bSo[\s,]' diff --git a/CI/vale/vale_styles/write-good/ThereIs.yml b/CI/vale/vale_styles/write-good/ThereIs.yml new file mode 100644 index 00000000000..8b82e8f6ccc --- /dev/null +++ b/CI/vale/vale_styles/write-good/ThereIs.yml @@ -0,0 +1,6 @@ +extends: existence +message: "Don't start a sentence with '%s'." +ignorecase: false +level: error +raw: + - '(?:[;-]\s)There\s(is|are)|\bThere\s(is|are)\b' diff --git a/CI/vale/vale_styles/write-good/TooWordy.yml b/CI/vale/vale_styles/write-good/TooWordy.yml new file mode 100644 index 00000000000..275701b1962 --- /dev/null +++ b/CI/vale/vale_styles/write-good/TooWordy.yml @@ -0,0 +1,221 @@ +extends: existence +message: "'%s' is too wordy." +ignorecase: true +level: warning +tokens: + - a number of + - abundance + - accede to + - accelerate + - accentuate + - accompany + - accomplish + - accorded + - accrue + - acquiesce + - acquire + - additional + - adjacent to + - adjustment + - admissible + - advantageous + - adversely impact + - advise + - aforementioned + - aggregate + - aircraft + - all of + - all things considered + - alleviate + - allocate + - along the lines of + - already existing + - alternatively + - amazing + - ameliorate + - anticipate + - apparent + - appreciable + - as a matter of fact + - as a means of + - as far as I'm concerned + - as of yet + - as to + - as yet + - ascertain + - assistance + - at the present time + - at this time + - attain + - attributable to + - authorize + - because of the fact that + - belated + - benefit from + - bestow + - by means of + - by virtue of + - by virtue of the fact that + - cease + - close proximity + - commence + - comply with + - concerning + - consequently + - consolidate + - constitutes + - demonstrate + - depart + - designate + - discontinue + - due to the fact that + - each and every + - economical + - eliminate + - elucidate + - employ + - endeavor + - enumerate + - equitable + - equivalent + - evaluate + - evidenced + - exclusively + - expedite + - expend + - expiration + - facilitate + - factual evidence + - feasible + - finalize + - first and foremost + - for all intents and purposes + - for the most part + - for the purpose of + - forfeit + - formulate + - have a tendency to + - honest truth + - however + - if and when + - impacted + - implement + - in a manner of speaking + - in a timely manner + - in a very real sense + - in accordance with + - in addition + - in all likelihood + - in an effort to + - in between + - in excess of + - in lieu of + - in light of the fact that + - in many cases + - in my opinion + - in order to + - in regard to + - in some instances + - in terms of + - in the case of + - in the event that + - in the final analysis + - in the nature of + - in the near future + - in the process of + - inception + - incumbent upon + - indicate + - indication + - initiate + - irregardless + - is applicable to + - is authorized to + - is responsible for + - it is + - it is essential + - it seems that + - it was + - magnitude + - maximum + - methodology + - minimize + - minimum + - modify + - monitor + - multiple + - necessitate + - nevertheless + - not certain + - not many + - not often + - not unless + - not unlike + - notwithstanding + - null and void + - numerous + - objective + - obligate + - obtain + - on the contrary + - on the other hand + - one particular + - optimum + - overall + - owing to the fact that + - participate + - particulars + - pass away + - pertaining to + - point in time + - portion + - possess + - preclude + - previously + - prior to + - prioritize + - procure + - proficiency + - provided that + - purchase + - put simply + - readily apparent + - refer back + - regarding + - relocate + - remainder + - remuneration + - requirement + - reside + - residence + - retain + - satisfy + - shall + - should you wish + - similar to + - solicit + - span across + - strategize + - subsequent + - substantial + - successfully complete + - sufficient + - terminate + - the month of + - the point I am trying to make + - therefore + - time period + - took advantage of + - transmit + - transpire + - type of + - until such time as + - utilization + - utilize + - validate + - various different + - what I mean to say is + - whether or not + - with respect to + - with the exception of + - witnessed diff --git a/CI/vale/vale_styles/write-good/Weasel.yml b/CI/vale/vale_styles/write-good/Weasel.yml new file mode 100644 index 00000000000..e29391444bc --- /dev/null +++ b/CI/vale/vale_styles/write-good/Weasel.yml @@ -0,0 +1,207 @@ +extends: existence +message: "'%s' is a weasel word!" +ignorecase: true +level: warning +tokens: + - absolutely + - accidentally + - additionally + - allegedly + - alternatively + - angrily + - anxiously + - approximately + - awkwardly + - badly + - barely + - beautifully + - blindly + - boldly + - bravely + - brightly + - briskly + - bristly + - bubbly + - busily + - calmly + - carefully + - carelessly + - cautiously + - cheerfully + - clearly + - closely + - coldly + - completely + - consequently + - correctly + - courageously + - crinkly + - cruelly + - crumbly + - cuddly + - currently + - daily + - daringly + - deadly + - definitely + - deliberately + - doubtfully + - dumbly + - eagerly + - early + - easily + - elegantly + - enormously + - enthusiastically + - equally + - especially + - eventually + - exactly + - exceedingly + - exclusively + - extremely + - fairly + - faithfully + - fatally + - fiercely + - finally + - fondly + - few + - foolishly + - fortunately + - frankly + - frantically + - generously + - gently + - giggly + - gladly + - gracefully + - greedily + - happily + - hardly + - hastily + - healthily + - heartily + - helpfully + - honestly + - hourly + - hungrily + - hurriedly + - immediately + - impatiently + - inadequately + - ingeniously + - innocently + - inquisitively + - interestingly + - irritably + - jiggly + - joyously + - justly + - kindly + - largely + - lately + - lazily + - likely + - literally + - lonely + - loosely + - loudly + - loudly + - luckily + - madly + - many + - mentally + - mildly + - monthly + - mortally + - mostly + - mysteriously + - neatly + - nervously + - nightly + - noisily + - normally + - obediently + - occasionally + - only + - openly + - painfully + - particularly + - patiently + - perfectly + - politely + - poorly + - powerfully + - presumably + - previously + - promptly + - punctually + - quarterly + - quickly + - quietly + - rapidly + - rarely + - really + - recently + - recklessly + - regularly + - remarkably + - relatively + - reluctantly + - repeatedly + - rightfully + - roughly + - rudely + - sadly + - safely + - selfishly + - sensibly + - seriously + - sharply + - shortly + - shyly + - significantly + - silently + - simply + - sleepily + - slowly + - smartly + - smelly + - smoothly + - softly + - solemnly + - sparkly + - speedily + - stealthily + - sternly + - stupidly + - substantially + - successfully + - suddenly + - surprisingly + - suspiciously + - swiftly + - tenderly + - tensely + - thoughtfully + - tightly + - timely + - truthfully + - unexpectedly + - unfortunately + - usually + - very + - victoriously + - violently + - vivaciously + - warmly + - waverly + - weakly + - wearily + - weekly + - wildly + - wisely + - worldly + - wrinkly + - yearly diff --git a/CI/vale/vale_styles/write-good/meta.json b/CI/vale/vale_styles/write-good/meta.json new file mode 100644 index 00000000000..a115d2886ac --- /dev/null +++ b/CI/vale/vale_styles/write-good/meta.json @@ -0,0 +1,4 @@ +{ + "feed": "https://github.com/errata-ai/write-good/releases.atom", + "vale_version": ">=1.0.0" +} diff --git a/CI/vale_styles/Microsoft/Auto.yml b/CI/vale_styles/Microsoft/Auto.yml deleted file mode 100644 index bd9abe045b8..00000000000 --- a/CI/vale_styles/Microsoft/Auto.yml +++ /dev/null @@ -1,7 +0,0 @@ -extends: existence -message: "In general, don’t hyphenate '%s'." -link: 'https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/auto' -ignorecase: true -level: error -tokens: - - 'auto-\w+' diff --git a/CI/vale_styles/Microsoft/Backend.yml b/CI/vale_styles/Microsoft/Backend.yml deleted file mode 100644 index f844bca8320..00000000000 --- a/CI/vale_styles/Microsoft/Backend.yml +++ /dev/null @@ -1,11 +0,0 @@ -extends: substitution -message: Use %s instead of '%s' -level: warning -link: 'https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/back-end' -# Use 'back end' (noun) or 'back-end' (adj). -pos: 'back-end/NN|backend/(?:JJ|NN)|back/\w+ end/JJ|back/(?:JJ|RB) end/\w+' -ignorecase: true -swap: - back-end: "'back end'" - back end: "'back-end'" - backend: "'back end' or 'back-end'" diff --git a/CI/vale_styles/Microsoft/ComplexWords.yml b/CI/vale_styles/Microsoft/ComplexWords.yml deleted file mode 100644 index 771a09c7c9a..00000000000 --- a/CI/vale_styles/Microsoft/ComplexWords.yml +++ /dev/null @@ -1,119 +0,0 @@ -extends: substitution -message: Consider using %s instead of '%s' -link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences -ignorecase: true -level: suggestion -swap: - 'approximate(?:ly)?': "'about'" - abundance: "'plenty'" - accelerate: "'speed up'" - accentuate: "'stress'" - accompany: "'go with'" - accomplish: "'carry out' or 'do'" - accorded: "'given'" - accordingly: "'so'" - accrue: "'add'" - accurate: "'right' or 'exact'" - acquiesce: "'agree'" - acquire: "'get' or 'buy'" - additional: "'more' or 'extra'" - address: "'discuss'" - addressees: "'you'" - adjacent to: "'next to'" - adjustment: "'change'" - admissible: "'allowed'" - advantageous: "'helpful'" - advise: "'tell'" - aggregate: "'total'" - aircraft: "'plane'" - alleviate: "'ease'" - allocate: "'assign' or 'divide'" - alternatively: "'or'" - alternatives: "'choices' or 'options'" - ameliorate: "'improve'" - amend: "'change'" - anticipate: "'expect'" - apparent: "'clear' or 'plain'" - ascertain: "'discover' or 'find out'" - assistance: "'help'" - attain: "'meet'" - attempt: "'try'" - authorize: "'allow'" - belated: "'late'" - bestow: "'give'" - cease: "'stop' or 'end'" - collaborate: "'work together'" - commence: "'begin'" - compensate: "'pay'" - component: "'part'" - comprise: "'form' or 'include'" - concept: "'idea'" - concerning: "'about'" - confer: "'give' or 'award'" - consequently: "'so'" - consolidate: "'merge'" - constitutes: "'forms'" - contains: "'has'" - convene: "'meet'" - demonstrate: "'show' or 'prove'" - depart: "'leave'" - designate: "'choose'" - desire: "'want' or 'wish'" - determine: "'decide' or 'find'" - detrimental: "'bad' or 'harmful'" - disclose: "'share' or 'tell'" - discontinue: "'stop'" - disseminate: "'send' or 'give'" - eliminate: "'end'" - elucidate: "'explain'" - employ: "'use'" - enclosed: "inside or 'included'" - encounter: "'meet'" - endeavor: "'try'" - enumerate: "'count'" - equitable: "'fair'" - equivalent: "'equal'" - exclusively: "'only'" - expedite: "'hurry'" - facilitate: "'ease'" - females: "'women'" - finalize: "'complete' or 'finish'" - frequently: "'often'" - identical: "'same'" - incorrect: "'wrong'" - indication: "'sign'" - initiate: "'start' or 'begin'" - itemized: "'listed'" - jeopardize: "'risk'" - liaise: "'work with' or 'partner with'" - maintain: "'keep' or 'support'" - methodology: "'method'" - modify: "'change'" - monitor: "'check' or 'watch'" - multiple: "'many'" - necessitate: "'cause'" - notify: "'tell'" - numerous: "'many'" - objective: "'aim' or 'goal'" - obligate: "'bind' or 'compel'" - optimum: "'best' or 'most'" - permit: "'let'" - portion: "'part'" - possess: "'own'" - previous: "'earlier'" - previously: "'before'" - prioritize: "'rank'" - procure: "'buy'" - provide: "'give' or 'offer'" - purchase: "'buy'" - relocate: "'move'" - request: "'ask'" - solicit: "'request'" - state-of-the-art: "'latest'" - subsequent: "'later' or 'next'" - substantial: "'large'" - sufficient: "'enough'" - terminate: "'end'" - transmit: "'send'" - utilization: "'use'" - utilize: "'use'" diff --git a/CI/vale_styles/Microsoft/DateNumbers.yml b/CI/vale_styles/Microsoft/DateNumbers.yml deleted file mode 100644 index c791201c0d1..00000000000 --- a/CI/vale_styles/Microsoft/DateNumbers.yml +++ /dev/null @@ -1,7 +0,0 @@ -extends: existence -message: Don’t use ordinal numbers for dates. -link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates -level: error -nonword: true -tokens: - - '(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?) [a-z-]+\b' diff --git a/CI/vale_styles/Microsoft/FirstPerson.yml b/CI/vale_styles/Microsoft/FirstPerson.yml deleted file mode 100644 index dcab8ae1232..00000000000 --- a/CI/vale_styles/Microsoft/FirstPerson.yml +++ /dev/null @@ -1,9 +0,0 @@ -extends: existence -message: "Use first person sparingly ('%s')." -link: 'https://docs.microsoft.com/en-us/style-guide/grammar/person' -ignorecase: true -level: warning -nonword: true -tokens: - - (?:^|\s)I\s - - \bme\b diff --git a/CI/vale_styles/Microsoft/GeneralURL.yml b/CI/vale_styles/Microsoft/GeneralURL.yml deleted file mode 100644 index efcbe8a0f12..00000000000 --- a/CI/vale_styles/Microsoft/GeneralURL.yml +++ /dev/null @@ -1,6 +0,0 @@ -extends: existence -message: For a general audience, use 'address' rather than 'URL'. -link: https://docs.microsoft.com/en-us/style-guide/urls-web-addresses -level: warning -tokens: - - URL diff --git a/CI/vale_styles/Microsoft/Negative.yml b/CI/vale_styles/Microsoft/Negative.yml deleted file mode 100644 index 01aaad30a45..00000000000 --- a/CI/vale_styles/Microsoft/Negative.yml +++ /dev/null @@ -1,7 +0,0 @@ -extends: existence -message: Form a negative number with an en dash, not a hyphen. -link: https://docs.microsoft.com/en-us/style-guide/numbers -nonword: true -level: error -tokens: - - '\s-\d+\s' diff --git a/CI/vale_styles/Microsoft/OxfordComma.yml b/CI/vale_styles/Microsoft/OxfordComma.yml deleted file mode 100644 index f98b44858f5..00000000000 --- a/CI/vale_styles/Microsoft/OxfordComma.yml +++ /dev/null @@ -1,7 +0,0 @@ -extends: existence -message: "Use the Oxford comma in '%s'." -link: 'https://docs.microsoft.com/en-us/style-guide/punctuation/commas' -scope: sentence -level: warning -tokens: - - '(?:[^,]+,){1,}\s\w+\sand' diff --git a/CI/vale_styles/Microsoft/meta.json b/CI/vale_styles/Microsoft/meta.json deleted file mode 100644 index c1615e21484..00000000000 --- a/CI/vale_styles/Microsoft/meta.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "author": "Joseph Kato", - "description": "A Vale-compatible implementation of the Microsoft Writing Style Guide.", - "email": "support@errata.ai", - "lang": "en", - "url": "https://github.com/errata-ai/Microsoft/releases/latest/download/Microsoft.zip", - "feed": "https://github.com/errata-ai/Microsoft/releases.atom", - "issues": "https://github.com/errata-ai/Microsoft/issues/new", - "license": "MIT", - "name": "Microsoft", - "sources": [ - "https://docs.microsoft.com/en-us/style-guide/welcome/", - "https://github.com/MicrosoftDocs/microsoft-style-guide/blob/master/LICENSE" - ], - "vale_version": ">=1.0.0", - "coverage": 0.0 -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 60a254464bf..a76c3c05586 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ guidelines (not rules) for contributing to this repository. Use your best judgem to propose changes to this document in a pull request. * [Hyperledger Besu documentation](http://besu.hyperledger.org/) -* [Hyperledger Besu Rocketchat](https://chat.hyperledger.org/channel/besu) +* [Hyperledger Besu chat](https://chat.hyperledger.org/channel/besu) * [Hyperledger Besu Wiki](https://wiki.hyperledger.org/display/BESU/Hyperledger+Besu) ### Useful docs contributing links diff --git a/MAINTAINERS.md b/MAINTAINERS.md index d2bb3f328ef..a751ecf02f9 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -4,22 +4,27 @@ -| Name | Github | LFID | + +| Name | GitHub | LFID | | ---------------- | ---------------- | ---------------- | | Byron Gravenorst | bgravenorst | bgravenorst | | Madeline Murray | MadelineMurray | madelinemurray | | Nicolas Massart | NicolasMassart | NicolasMassart | | Steven Gregg | sgregglives | sagregg | | Grant Noble | grantnoble | grantnoble | + ## Emeritus maintainers None. + + + ## Becoming a maintainer @@ -32,7 +37,7 @@ To become a maintainer the following steps occur, roughly in order. - The proposed maintainer accepts the nomination and expresses a willingness to be a long-term (more than six months) committer. - This would be a comment in the above PR. - - All appropriate communication channels will advertise this PR, as well as mentioned in any + - All appropriate communication channels will advertise this PR and it will be mentioned in any maintainer/community call. The appropriate mailing lists or chat channels (if they exist) will also advertise the PR. - Approval by at least three current maintainers within two weeks of the proposal or an absolute @@ -42,7 +47,7 @@ To become a maintainer the following steps occur, roughly in order. - Accompanying all vetoes must be a public explanation as a comment in the PR for adding this maintainer. - The explanation of the veto must be reasonable. - - You can retract a veto, in which case the approval/veto timeframe is reset. + - You can retract a veto, in which case the approval/veto time frame is reset. - It's bad form to veto, retract, and veto again. - The proposed maintainer becomes a maintainer: - Either two weeks have passed since the third approval, diff --git a/README.md b/README.md index 8704dba33bb..4f5531efa8b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Java-based, Apache 2.0 licensed Ethereum client. Welcome to the **Besu Documentation** repository. If you're looking for the software sources, go to -https://github.com/hyperledger/besu. +[Besu GitHub source code repository](https://github.com/hyperledger/besu). This repository only contains the sources for [Besu documentation website hosted by ReadTheDocs][Besu User Documentation]. @@ -19,16 +19,16 @@ This repository only contains the sources for * How to contribute to the [Besu codebase](https://github.com/hyperledger/besu/blob/master/CONTRIBUTING.md). -## Linux Foundation / Jira accounts +## Linux Foundation / GitHub accounts Having the following accounts is necessary for contributing code/issues to Besu: * If you want to contribute code, create a [Linux Foundation (LF) account] and a [GitHub account]. * If you want to raise an issue, login to your [GitHub account]. -* [Chat] also requires a [Linux Foundation (LF) account]. +* [chat] also requires a [Linux Foundation (LF) account]. [Besu User Documentation]: https://besu.hyperledger.org [Linux Foundation (LF) account]: https://wiki.hyperledger.org/display/CA/Setting+up+an+LFID [GitHub account]: https://www.github.com/ -[Chat]: https://chat.hyperledger.org/ +[chat]: https://chat.hyperledger.org/ diff --git a/SECURITY.md b/SECURITY.md index 8ecbb3682e5..ffd0e483d31 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -8,12 +8,14 @@ patch it within a reasonable amount of time and release a public security bullet impact and credit the discoverer. You can report a security bug in two ways. The easiest is to email a description of the flaw and -any related information (e.g. reproduction steps, version) to -[security at hyperledger dot org](mailto:security@hyperledger.org). +any related information (for example reproduction steps, version) to +[Hyperledger security email address`](mailto:security@hyperledger.org). + The process by which the Hyperledger Security Team handles security bugs is documented further in our [Defect Response page](https://wiki.hyperledger.org/display/SEC/Defect+Response) on our diff --git a/docs/Concepts/Events-and-Logs.md b/docs/Concepts/Events-and-Logs.md index b068a6ccccb..2e40427cc25 100644 --- a/docs/Concepts/Events-and-Logs.md +++ b/docs/Concepts/Events-and-Logs.md @@ -51,7 +51,7 @@ Up to three event parameters can have the `indexed` attribute. Logs store these as `topics`. Indexed parameters are searchable and filterable. Topics are 32 bytes. If an indexed argument is an array (including `string` and `byte` datatypes), -the log stores the keccak-256 hash of the paramater as a topic. +the log stores the keccak-256 hash of the parameter as a topic. Log `data` includes non-indexed parameters but is difficult to search or filter. diff --git a/docs/Concepts/Node-Keys.md b/docs/Concepts/Node-Keys.md index 8f9438c0f8c..2905ac67ffb 100644 --- a/docs/Concepts/Node-Keys.md +++ b/docs/Concepts/Node-Keys.md @@ -23,8 +23,8 @@ private key in the `key` file. ## Node public key -The node public key displays in the log after starting Besu. Also refered to as the node ID, the -node public key forms part of the enode URL for a node. +The node public key displays in the log after starting Besu. Also referred to as the node ID, the +node public key forms part of the enode URL of a node. You can export the node public key, either to standard output or to a specified file, using the [`public-key export`](../Reference/CLI/CLI-Subcommands.md#public-key) subcommand. @@ -67,7 +67,7 @@ The enode URL format is `enode://@` where: `enode://c35c3ec90a8a51fd5703594c6303382f3ae6b2ecb9589bab2c04b3794f2bc3fc2631dabb0c08af795787a6c004d8f532230ae6e9925cbbefb0b28b79295d615f@127.0.0.1:30303` The enode URL displays when starting a Besu node. Use the -[`net_enode`](../Reference/API-Methods.md#net_enode) JSON-RPC API method to get the enode URL for +[`net_enode`](../Reference/API-Methods.md#net_enode) JSON-RPC API method to get the enode URL of the node. The enode advertised to other nodes during discovery is the external IP address and port, as diff --git a/docs/Concepts/Permissioning/Onchain-Permissioning.md b/docs/Concepts/Permissioning/Onchain-Permissioning.md index 7b8aaa5b080..d79b10aa573 100644 --- a/docs/Concepts/Permissioning/Onchain-Permissioning.md +++ b/docs/Concepts/Permissioning/Onchain-Permissioning.md @@ -28,7 +28,7 @@ repository are: * Account Rules - stores the accounts allowlist and account allowlist operations (for example, add and remove). * Admin - stores the list of admin accounts and admin list operations (for example, add and - remove). There is one list of admin accounts for node and accounts. + remove). Admin accounts are stored in a single list for both nodes and accounts. ## Permissioning management Dapp @@ -61,11 +61,11 @@ Permissioning implements three allowlists: !!! tip If nodes are not connecting as expected, set the [log level to `TRACE`](../../Reference/CLI/CLI-Syntax.md#logging) - and search for messages containing `Node permissioning` to identify the issue. - + and search for messages containing `Node permissioning` to identify the issue. + Ensure the [`--p2p-host`](../../Reference/CLI/CLI-Syntax.md#p2p-host) command line option has been - correctly configured for all nodes with the - externally accessible address. + correctly configured for all nodes with the + externally accessible address. ## Bootnodes diff --git a/docs/Concepts/Permissioning/Permissioning-Overview.md b/docs/Concepts/Permissioning/Permissioning-Overview.md index 4dd162ea56e..280d428479f 100644 --- a/docs/Concepts/Permissioning/Permissioning-Overview.md +++ b/docs/Concepts/Permissioning/Permissioning-Overview.md @@ -30,7 +30,7 @@ Use account permissioning to: * Enforce onboarding or identity requirements * Suspend accounts -* Denylist broken contracts +* Exclude broken contracts using a deny-list * Restrict the actions an account can perform. ![Account Permissioning](../../images/enterprise-ethereum-account-permissioning.png) diff --git a/docs/Concepts/Privacy/Flexible-PrivacyGroups.md b/docs/Concepts/Privacy/Flexible-PrivacyGroups.md index bd4f26eaeb3..81eb872e50d 100644 --- a/docs/Concepts/Privacy/Flexible-PrivacyGroups.md +++ b/docs/Concepts/Privacy/Flexible-PrivacyGroups.md @@ -37,7 +37,7 @@ In the default implementation of the group management contract, the signer of th that creates the privacy group is also the owner of the group. Only the owner can add and remove participants, and upgrade the management contract. -The owner is identified by the signing key. Transactions to add and remove participants, or upgrade +The owner is identified by the signing key. Transactions to add and remove participants, or upgrade the management contract, must be signed by the same key that signed the group creation transaction. ## Flexible privacy group IDs diff --git a/docs/Concepts/Privacy/Multi-Tenancy.md b/docs/Concepts/Privacy/Multi-Tenancy.md index 15b5db29367..242248cd068 100644 --- a/docs/Concepts/Privacy/Multi-Tenancy.md +++ b/docs/Concepts/Privacy/Multi-Tenancy.md @@ -30,8 +30,8 @@ a _tenant_, and the operator is the _owner_ of the Besu and Orion node. trust mode. Multi-tenancy validates that tenants have permission to use the specified HTTP or Websocket -JSON-RPC requests, and the tenant has access to the requested privacy data. There is segregation of -private data, and each tenant uses a JSON Web Token (JWT) for authentication. +JSON-RPC requests, and the tenant has access to the requested privacy data. +Private data is isolated and each tenant uses a JSON Web Token (JWT) for authentication. You can [create the JWT either externally or internally](../../HowTo/Interact/APIs/Authentication.md). diff --git a/docs/Concepts/Privacy/Private-Transaction-Processing.md b/docs/Concepts/Privacy/Private-Transaction-Processing.md index 88c0c5e81fa..3fd5d3756b8 100644 --- a/docs/Concepts/Privacy/Private-Transaction-Processing.md +++ b/docs/Concepts/Privacy/Private-Transaction-Processing.md @@ -21,7 +21,7 @@ Private transaction processing is illustrated and described in the following dia ![Processing Private Transactions](../../images/PrivateTransactionProcessing.png) 1. Submit a private transaction using - [eea_sendRawTransaction](../../Reference/API-Methods.md#eea_sendrawtransaction). The signed + [`eea_sendRawTransaction`](../../Reference/API-Methods.md#eea_sendrawtransaction). The signed transaction includes transaction attributes specific to private transactions, including: * `privateFor` or `privacyGroupId` specifies the list of recipients diff --git a/docs/Concepts/Privacy/Private-Transactions.md b/docs/Concepts/Privacy/Private-Transactions.md index 44ac5ad1860..8883b12596b 100644 --- a/docs/Concepts/Privacy/Private-Transactions.md +++ b/docs/Concepts/Privacy/Private-Transactions.md @@ -69,8 +69,8 @@ transaction is submitted to the [transaction pool](../Transactions/Transaction-P Unlike [public transaction nonces](../Transactions/Transaction-Validation.md), private transaction nonces are not validated when the private transaction is submitted. If a private transaction has an -incorrect nonce, the privacy marker transaction is still valid and is added to a block. The -private transaction execution fails when [processing the privacy marker transaction](../Privacy/Private-Transaction-Processing.md) +incorrect nonce, the privacy marker transaction is still valid and is added to a block. +The private transaction execution fails when [processing the privacy marker transaction](../Privacy/Private-Transaction-Processing.md) for the private transaction with the incorrect nonce. !!! tip diff --git a/docs/Concepts/Pruning.md b/docs/Concepts/Pruning.md index 916ab021535..97afd8ec0af 100644 --- a/docs/Concepts/Pruning.md +++ b/docs/Concepts/Pruning.md @@ -12,8 +12,8 @@ latest state for the blockchain (and some older states, but not all). You can ch balances, sign and send transactions, and look at current Dapp data. Archive nodes have all of this and they also store the intermediary state of every account and -contract for every block since the genesis block. With an archive node you can do everything you -do with a full node, as well as access historical state data. +contract for every block since the genesis block. +An archive node can do everything a full node does, and it can access historical state data. For Besu on MainNet, Archive nodes require significantly more disk space (approximately 3TB) than full nodes (approximately 750GB). diff --git a/docs/HowTo/Backup/Backup.md b/docs/HowTo/Backup/Backup.md index aa8504f6bd7..7ce305f8fe5 100644 --- a/docs/HowTo/Backup/Backup.md +++ b/docs/HowTo/Backup/Backup.md @@ -25,8 +25,8 @@ The default data location is the Besu installation directory, or `/opt/besu/data [Besu Docker image](../Get-Started/Installation-Options/Run-Docker-Image.md). Having some data reduces the time to synchronize a new node. You can perform periodic backups of -the data directory and send the data to your preferred backup mechanism. For example, cron job and -rsync, archives to the cloud such as s3, or `tar.gz` archives. +the data directory and send the data to your preferred backup mechanism. For example, `cron` job and +`rsync`, archives to the cloud such as s3, or `tar.gz` archives. ## Data restores diff --git a/docs/HowTo/Configure/Configure-HA/Sample-Configuration.md b/docs/HowTo/Configure/Configure-HA/Sample-Configuration.md index b1334a6e014..5085f3c62ec 100644 --- a/docs/HowTo/Configure/Configure-HA/Sample-Configuration.md +++ b/docs/HowTo/Configure/Configure-HA/Sample-Configuration.md @@ -25,7 +25,7 @@ For finer grain control, use the Application Load Balancer: ### HTTPS redirection With either AWS load balancer, you can add certificates using ACM (Amazon Certificate Manager), -add them to the load balancers, and redirect all http calls to https. +add them to the load balancers, and redirect all HTTP calls to HTTPS. ## Elastic Kubernetes Service @@ -37,7 +37,7 @@ when running nodes in Kubernetes. Use labels to specify nodes for the load balan Where applicable, we strongly recommend using service discovery. That is, pair your load balancer configuration with something that dynamically detects new nodes and removed failed nodes. -For nginx, use multiple upstreams (one for each port). Pair each upstream with a separate server +For Nginx, use multiple upstreams (one for each port). Pair each upstream with a separate server block. !!! example "Upstreams paired with server blocks" @@ -106,6 +106,6 @@ For HAProxy, create multiple backend and frontend sets. ### HTTPS redirection -To add https capability, update the above server blocks to include the certificates and specific -ciphers. If you require an http to https redirection, add separate blocks to return a 301 code with +To add HTTPS capability, update the above server blocks to include the certificates and specific +ciphers. If you require an HTTP to HTTPS redirection, add separate blocks to return a 301 code with the new URI. diff --git a/docs/HowTo/Configure/Consensus-Protocols/Clique.md b/docs/HowTo/Configure/Consensus-Protocols/Clique.md index dcb71bd8f05..be20e8867ca 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/Clique.md +++ b/docs/HowTo/Configure/Consensus-Protocols/Clique.md @@ -62,7 +62,7 @@ The `extraData` field consists of: * A concatenated list of initial signer addresses (at least one initial signer required). 20 bytes (40 hex characters) for each signer. * 65 bytes (130 hex characters) for the proposer signature. In the genesis block there is no - initial proproser so the proproser signature is all zeros. + initial proposer so the proposer signature is all zeros. !!! example "One Initial Signer" diff --git a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md index 111df8ce7a4..6adc7fa5b98 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md +++ b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md @@ -63,7 +63,7 @@ The properties specific to IBFT 2.0 are: * `epochlength` - The number of blocks after which to reset all votes. * `requesttimeoutseconds` - The timeout for each consensus round before a round change, in seconds. * `blockreward` - Optional reward amount in Wei to reward the beneficiary. Defaults to zero (0). - Can be specified as a hexidecimal (with 0x prefix) or decimal string value. If set, then all + Can be specified as a hexadecimal (with 0x prefix) or decimal string value. If set, then all nodes on the network must use the identical value. * `miningbeneficiary` - Optional beneficiary of the `blockreward`. Defaults to the validator that proposes the block. If set, then all nodes on the network must use the same beneficiary. @@ -135,7 +135,7 @@ small (usually around one second) even in networks with geographically dispersed !!! example An internal IBFT 2.0 network run by PegaSys had four geographically dispersed validators in Sweden, Sydney, and two in North Virginia. With a `blockperiodseconds` of 5 and a `requesttimeoutseconds` - of 10, the testnet consistently created blocks with a five second blocktime. + of 10, the testnet consistently created blocks with a five second block time. #### Tuning block timeout @@ -202,7 +202,7 @@ To propose adding a validator, call specifying the address of the proposed validator and `true`. A majority of validators must execute the call. -!!! example "JSON-RPC ibft_proposeValidatorVote Request Example" +!!! example "JSON-RPC `ibft_proposeValidatorVote` Request Example" ```bash curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_proposeValidatorVote","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73", true], "id":1}' @@ -219,7 +219,7 @@ adds the proposed validator to the validator pool and the validator can begin va To return a list of validators and confirm the addition of a proposed validator, use [`ibft_getValidatorsByBlockNumber`](../../../Reference/API-Methods.md#ibft_getValidatorsByBlockNumber). -!!! example "JSON-RPC ibft_getValidatorsByBlockNumber Request Example" +!!! example "JSON-RPC `ibft_getValidatorsByBlockNumber` Request Example" ```bash curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockNumber","params":["latest"], "id":1}' @@ -229,7 +229,7 @@ To discard your proposal after confirming the addition of a validator, call [`ibft_discardValidatorVote`](../../../Reference/API-Methods.md#ibft_discardValidatorVote), specifying the address of the proposed validator. -!!! example "JSON-RPC ibft_discardValidatorVote Request Example" +!!! example "JSON-RPC `ibft_discardValidatorVote` Request Example" ```bash curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_discardValidatorVote","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73"], "id":1}' diff --git a/docs/HowTo/Configure/Contracts-in-Genesis.md b/docs/HowTo/Configure/Contracts-in-Genesis.md index 72a43711b6b..22ff9600ba4 100644 --- a/docs/HowTo/Configure/Contracts-in-Genesis.md +++ b/docs/HowTo/Configure/Contracts-in-Genesis.md @@ -2,9 +2,9 @@ description: Predeploying contracts in the genesis file --- -# Predeploying contracts in the genesis file +# Pre-deploying contracts in the genesis file -To predeploy contracts when starting Besu, specify the contract code in the genesis file. +To pre-deploy contracts when starting Besu, specify the contract code in the genesis file. !!! example "Contract code in the genesis file" diff --git a/docs/HowTo/Configure/FreeGas.md b/docs/HowTo/Configure/FreeGas.md index ffff3e48250..a3207e2893b 100644 --- a/docs/HowTo/Configure/FreeGas.md +++ b/docs/HowTo/Configure/FreeGas.md @@ -106,7 +106,7 @@ gas limit in Truffle to the maximum possible. Besu does not support private key management. To use Besu with Truffle, you must configure a [Truffle wallet](../Develop-Dapps/Truffle.md). -### Update truffle-config.js +### Update `truffle-config.js` Update the `truffle-config.js` file: diff --git a/docs/HowTo/Deploy/Ansible.md b/docs/HowTo/Deploy/Ansible.md index f50c748e987..72a9d98060e 100644 --- a/docs/HowTo/Deploy/Ansible.md +++ b/docs/HowTo/Deploy/Ansible.md @@ -6,10 +6,10 @@ description: Deploying Hyperledger Besu with Ansible role on Galaxy # Deploying Hyperledger Besu with Ansible To deploy Hyperledger Besu using Ansible, use the -[Hyperledge Besu role](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) published on Galaxy. +[Hyperledger Besu role](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) published on Galaxy. -For more information, see the -[Ansible readme](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). +For more information, see the "Read Me" button on the +[Ansible Galaxy Besu page](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). !!! important diff --git a/docs/HowTo/Deploy/Lite-Block-Explorer.md b/docs/HowTo/Deploy/Lite-Block-Explorer.md index e9c3cc430cd..7bb36f70d48 100644 --- a/docs/HowTo/Deploy/Lite-Block-Explorer.md +++ b/docs/HowTo/Deploy/Lite-Block-Explorer.md @@ -7,7 +7,7 @@ description: Ethereum Lite Explorer Use the [Alethio Ethereum Lite Explorer](https://github.com/Alethio/ethereum-lite-explorer) to explore blockchain data at the block, transaction, and account level. -The Alethio Ethereum Lite Explorer is a web application that connects to any Ethereum +The Alethio Ethereum Lite Explorer is a Web application that connects to any Ethereum JSON-RPC-enabled node. The Explorer does not require an online server, hosting, or trusting third parties to display the blockchain data. @@ -42,7 +42,7 @@ To run the Ethereum Lite Explorer using the Docker image: docker run --rm -p 8080:80 -e APP_NODE_URL=http://localhost:8545 alethio/ethereum-lite-explorer ``` -1. Open [http://localhost:8080](http://localhost:8080) in your browser to view the Lite Explorer. +1. Open [`http://localhost:8080`](http://localhost:8080) in your browser to view the Lite Explorer. ![Ethereum Lite Explorer](../../images/explorer.png) @@ -66,13 +66,13 @@ To run the Ethereum Lite Explorer using the Docker image: cd ethereum-lite-explorer ``` -1. Install npm packages: +1. Install `npm` packages: ```bash npm install ``` -1. Copy the sample configaration: +1. Copy the sample configuration: ```bash cp config.default.json config.dev.json @@ -102,4 +102,4 @@ To run the Ethereum Lite Explorer using the Docker image: npm run start ``` -A browser window displays the Ethereum Lite Explorer (http://localhost:3000/). +A browser window displays the Ethereum Lite Explorer [`http://localhost:3000/`[http://localhost:3000/]. diff --git a/docs/HowTo/Deploy/Lite-Network-Monitor.md b/docs/HowTo/Deploy/Lite-Network-Monitor.md index 58f7667ebe5..1fc27cfa224 100644 --- a/docs/HowTo/Deploy/Lite-Network-Monitor.md +++ b/docs/HowTo/Deploy/Lite-Network-Monitor.md @@ -128,11 +128,11 @@ Where: * `--register` specifies automatic registration of the Besu node with the specified `` and ``. Registering the node is only required when starting the client for the first time for the node. -* `--client-url` specifies the WebSockets URL for the Besu node. +* `--client-url` specifies the WebSockets URL of the Besu node. ### 4. Dashboard -To display the EthStats Lite dashboard, open [http://localhost](http://localhost) in your browser. +To display the EthStats Lite dashboard, open [`http://localhost`](http://localhost) in your browser. ![Alethio EthStats Lite Dashboard](../../images/ethstats.png) diff --git a/docs/HowTo/Deploy/Production.md b/docs/HowTo/Deploy/Production.md index f8c4c94401a..5bb3bf9fa73 100644 --- a/docs/HowTo/Deploy/Production.md +++ b/docs/HowTo/Deploy/Production.md @@ -8,7 +8,7 @@ To deploy the Permissioning Management Dapp for production: 1. Retrieve the most recent release (tarball or zip) from the [projects release page]. -1. Unpack the distribution into a directory available to your webserver. +1. Unpack the distribution into a directory available to your Web server. 1. In the root of the unpack directory, add a file called `config.json` replacing the placeholders shown below. @@ -24,14 +24,14 @@ To deploy the Permissioning Management Dapp for production: } ``` -1. On your webserver, host the contents of the directory as static files and direct root requests +1. On your Web server, host the contents of the directory as static files and direct root requests to `index.html`. ## Starting a production permissioned network Follow the procedure as for [Getting Started with Onchain Permissioning], but do not perform the steps using `yarn` to install, build, and start the development server. Instead, follow the -procedure above to deploy the Permissioning Management Dapp to your webserver. +procedure above to deploy the Permissioning Management Dapp to your Web server. [projects release page]: https://github.com/PegaSysEng/permissioning-smart-contracts/releases/latest diff --git a/docs/HowTo/Deploy/Validators.md b/docs/HowTo/Deploy/Validators.md index c13cf006946..c5999085d4a 100644 --- a/docs/HowTo/Deploy/Validators.md +++ b/docs/HowTo/Deploy/Validators.md @@ -19,7 +19,7 @@ We recommend storing validator configuration under source control. ## Number of validators required -Ensure you confingure enough validators to allow for redundancy. IBFT 2.0 tolerates `f = (n-1)/3` +Ensure you configure enough validators to allow for redundancy. IBFT 2.0 tolerates `f = (n-1)/3` faulty validators, where: * `f` is the number of faulty validators diff --git a/docs/HowTo/Find-and-Connect/Bootnodes.md b/docs/HowTo/Find-and-Connect/Bootnodes.md index df13abb5cc6..7ff0f70b074 100644 --- a/docs/HowTo/Find-and-Connect/Bootnodes.md +++ b/docs/HowTo/Find-and-Connect/Bootnodes.md @@ -19,7 +19,7 @@ discover other nodes. ## MainNet and public testnets -For MainNet and the Rinkeby, Ropsten, and Görli testnets, Hyperledger Besu predefines a list of +For MainNet and the Rinkeby, Ropsten, and Görli testnets, Hyperledger Besu has an internal list of enode URLs and uses this list automatically when you specify the [`--network`](../../Reference/CLI/CLI-Syntax.md#network) option. diff --git a/docs/HowTo/Find-and-Connect/Static-Nodes.md b/docs/HowTo/Find-and-Connect/Static-Nodes.md index 8d5f2fa8406..06c567bfc1d 100644 --- a/docs/HowTo/Find-and-Connect/Static-Nodes.md +++ b/docs/HowTo/Find-and-Connect/Static-Nodes.md @@ -53,7 +53,7 @@ To update the list of static peers at run time, use the [enode URL](../../Concepts/Node-Keys.md#enode-url) is correct, the node is running, and the node is listening for TCP connections on the endpoint. -### static-nodes.json file +### `static-nodes.json` file The `static-nodes.json` file must be in the data directory (specified by [`--data-path`](../../Reference/CLI/CLI-Syntax.md#data-path)) and contain a JSON array of diff --git a/docs/HowTo/Get-Started/System-Requirements/System-Requirements-Public.md b/docs/HowTo/Get-Started/System-Requirements/System-Requirements-Public.md index ccd43aed78e..11a1b731b19 100644 --- a/docs/HowTo/Get-Started/System-Requirements/System-Requirements-Public.md +++ b/docs/HowTo/Get-Started/System-Requirements/System-Requirements-Public.md @@ -29,9 +29,9 @@ to the chain head. Monitor your system to determine your actual JVM memory needs ## AWS requirements -We are running 1.4.5 mainnet nodes using t3.large boxes. +We are running 1.4.5 mainnet nodes using `t3.large` boxes. -We synchronized the 1.4.5 mainnet nodes using t3.xlarge boxes. +We synchronized the 1.4.5 mainnet nodes using `t3.xlarge` boxes. Using a larger box while synchronizing speeds up the sync process by giving it more resources. When the sync is completed, the box size can be reduced. diff --git a/docs/HowTo/Interact/APIs/RPC-PubSub.md b/docs/HowTo/Interact/APIs/RPC-PubSub.md index b8901ac243f..433316b2b23 100644 --- a/docs/HowTo/Interact/APIs/RPC-PubSub.md +++ b/docs/HowTo/Interact/APIs/RPC-PubSub.md @@ -72,7 +72,7 @@ Use `eth_subscribe` to create subscriptions for the following event types: * [Logs](#logs) * [Pending transactions](#pending-transactions) * [Dropped transactions](#dropped-transactions) -* [Synchronizng](#synchronizing) +* [Synchronizing](#synchronizing) Use `priv_subscribe` to [create subscriptions for logs on private contracts](#logs). @@ -464,7 +464,7 @@ To cancel a subscription, use the [subscription ID](#subscription-id) with `eth_ When cancelling a subscription for private logs, the privacy group ID must be specified. -`eth_unsubscribe` and `priv_unsubscribe` return `true` if subscription succuessfully unsubscribed; +`eth_unsubscribe` and `priv_unsubscribe` return `true` if subscription successfully unsubscribed; otherwise, returns an error. !!!example diff --git a/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md b/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md index c643dc6bef5..2caa0ea0b66 100644 --- a/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md +++ b/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md @@ -146,7 +146,7 @@ The block parameter can have the following values: * `earliest` : `tag` - The earliest (genesis) block. * `latest` : `tag` - The last block mined. * `pending` : `tag` - The last block mined plus pending transactions. Use only with - [eth_getTransactionCount](../../../Reference/API-Methods.md#eth_gettransactioncount). + [`eth_getTransactionCount`](../../../Reference/API-Methods.md#eth_gettransactioncount). !!! note diff --git a/docs/HowTo/Limit-Access/Local-Permissioning.md b/docs/HowTo/Limit-Access/Local-Permissioning.md index 95c3331550e..c9c794d0e94 100644 --- a/docs/HowTo/Limit-Access/Local-Permissioning.md +++ b/docs/HowTo/Limit-Access/Local-Permissioning.md @@ -99,7 +99,7 @@ permissioning accepts transactions only from accounts in the accounts allowlist. `accounts-allowlist=["0x0000000000000000000000000000000000000009"]` Account allowlisting is at the node level. That is, each node in the network has a -[permisssions configuration file](#permissions-configuration-file) in the +[permissions configuration file](#permissions-configuration-file) in the [data directory](../../Reference/CLI/CLI-Syntax.md#data-path) for the node. !!! caution "Using account permissioning and privacy" diff --git a/docs/HowTo/Limit-Access/Specify-Perm-Version.md b/docs/HowTo/Limit-Access/Specify-Perm-Version.md index 939f49c6935..a1bec4ba640 100644 --- a/docs/HowTo/Limit-Access/Specify-Perm-Version.md +++ b/docs/HowTo/Limit-Access/Specify-Perm-Version.md @@ -1,5 +1,5 @@ --- -description: Specify the permissioning interface version +description: Specify the permissioning interface version --- # Specify the permissioning contract interface version @@ -9,7 +9,7 @@ command line option to specify the version of the [permissioning contract interf The default is 1. Specify the contract interface version that maps to the version of the [Enterprise Ethereum Alliance Client Specification](https://entethalliance.org/technical-specifications/) -the contract interface implements. +the contract interface implements. | | EEA Client Specification | Contract interface | |---------|--------------------------|--------------------| diff --git a/docs/HowTo/Limit-Access/Updating-Permission-Lists.md b/docs/HowTo/Limit-Access/Updating-Permission-Lists.md index 6fcd9ad2e54..5a26ec3f6fc 100644 --- a/docs/HowTo/Limit-Access/Updating-Permission-Lists.md +++ b/docs/HowTo/Limit-Access/Updating-Permission-Lists.md @@ -30,13 +30,13 @@ To remove a node from the nodes allowlist: required because peer discovery is run on node startup. !!! tip - + If nodes are not connecting as expected, set the [log level to `TRACE`](../../Reference/CLI/CLI-Syntax.md#logging) - and search for messages containing `Node permissioning` to identify the issue. + and search for messages containing `Node permissioning` to identify the issue. Ensure the [`--p2p-host`](../../Reference/CLI/CLI-Syntax.md#p2p-host) command line option has been - correctly configured for all nodes with the - externally accessible address. + correctly configured for all nodes with the + externally accessible address. ## Update account allowlists diff --git a/docs/HowTo/Monitor/Logging.md b/docs/HowTo/Monitor/Logging.md index 2f07ecfc70d..34526af748b 100644 --- a/docs/HowTo/Monitor/Logging.md +++ b/docs/HowTo/Monitor/Logging.md @@ -6,7 +6,7 @@ source: log4j2.xml # Logging -Hyperledger Besu uses Log4J2 for logging. There are two methods to configure logging behavior: +Hyperledger Besu uses Log4J2 for logging and provides two methods to configure logging behavior: * [Basic](#basic-log-level-setting) - changes the log level. * [Advanced](#advanced-custom-logging) - configures the output and format of the logs. diff --git a/docs/HowTo/Monitor/Metrics.md b/docs/HowTo/Monitor/Metrics.md index cb8848bff6b..e805e42b4c9 100644 --- a/docs/HowTo/Monitor/Metrics.md +++ b/docs/HowTo/Monitor/Metrics.md @@ -44,8 +44,8 @@ To use Prometheus with Besu, install the To configure Prometheus and run with Besu: -1. Configure Prometheus to poll Besu. For example, add the following yaml fragment to the - `scrape_configs` block of the `prometheus.yml` file: +1. Configure Prometheus to poll Besu. + For example, add the following YAML fragment to the `scrape_configs` block of the `prometheus.yml` file: !!!example @@ -129,8 +129,8 @@ inside Docker containers with varying IP addresses). To enable Besu to push metr To configure Prometheus and run with Besu pushing to a push gateway: -1. Configure Prometheus to read from a push gateway. For example, add the following yaml fragment - to the `scrape_configs` block of the `prometheus.yml` file: +1. Configure Prometheus to read from a push gateway. + For example, add the following YAML fragment to the `scrape_configs` block of the `prometheus.yml` file: ```yml - job_name: push-gateway @@ -172,7 +172,7 @@ To configure Prometheus and run with Besu pushing to a push gateway: ## View Prometheus graphical interface -1. Open a web browser to http://localhost:9090 to view the Prometheus graphical interface. +1. Open a Web browser to [`http://localhost:9090`](http://localhost:9090) to view the Prometheus graphical interface. 1. Choose **Graph** from the menu bar and click the **Console** tab below. diff --git a/docs/HowTo/Monitor/Splunk-Enterprise.md b/docs/HowTo/Monitor/Splunk-Enterprise.md index 8ae81e355f5..dd0810c7531 100644 --- a/docs/HowTo/Monitor/Splunk-Enterprise.md +++ b/docs/HowTo/Monitor/Splunk-Enterprise.md @@ -86,7 +86,7 @@ docker run \ splunk/splunk:latest ``` -Once the service is started, connect on and login as the `admin` user +Once the service is started, connect on [`http://localhost:8080/`](http://localhost:8080/) and login as the `admin` user with a password of `changeme`. !!!tip @@ -98,7 +98,7 @@ with a password of `changeme`. ### Create the Besu index -1. In the Splunk web interface, navigate to the [index list in the settings](http://localhost:8080/en-US/manager/search/data/indexes). +1. In the Splunk Web interface, navigate to the [index list in the settings](http://localhost:8080/en-US/manager/search/data/indexes). 1. [Create an event index] with an Index Name of `besu`. 1. Leave other fields with the default values. 1. Save the `besu` index. @@ -126,7 +126,7 @@ required in our example. The complete list of options is in the [Splunk options ### Display the logs -In the Splunk web interface, navigate to the [search page](http://localhost:8080/en-US/app/search/search). +In the Splunk Web interface, navigate to the [search page](http://localhost:8080/en-US/app/search/search). Type `index="besu"` in the search field. Log events sent by Besu are displayed. @@ -136,7 +136,7 @@ Congratulations! You can now play with the search and other Splunk features to e ### Stop the demo -1. To stop Besu, use Ctrl+C. +1. To stop Besu, use ++ctrl+c++. 1. To stop the Splunk container, use `docker stop splunk-demo`. ## Run a Splunk Enterprise instance @@ -157,7 +157,7 @@ Follow the steps in the [Splunk Enterprise documentation](https://docs.splunk.co Once the Splunk Enterprise instance is ready: -1. Log into the Splunk Enterprise web interface. +1. Log into the Splunk Enterprise Web interface. 1. Navigate to the settings to: - [Create a HTTP Event Collector](https://docs.splunk.com/Documentation/Splunk/8.0.4/Data/UsetheHTTPEventCollector). @@ -181,7 +181,7 @@ Congratulations! You can now [display logs and use the search engine](#display-t | SPLUNK_TOKEN | Authentication token, usually of the form `11111111-1111-1111-1111-111111111111` | Yes | | SPLUNK_INDEX | [Index](https://docs.splunk.com/Splexicon:Index) to store logs. Defaults to `besu` | No | | SPLUNK_SOURCE | [Source of the logs](https://docs.splunk.com/Splexicon:Source). Defaults to `besu` | No | -| SPLUNK_SOURCETYPE | [Sourcetype of the logs](https://docs.splunk.com/Splexicon:Sourcetype). Defaults to `besu` | No | +| SPLUNK_SOURCETYPE | [Source type of the logs](https://docs.splunk.com/Splexicon:Sourcetype). Defaults to `besu` | No | | SPLUNK_BATCH_SIZE_BYTES | Size of a log batch in bytes. Defaults to `65536` | No | | SPLUNK_BATCH_SIZE_COUNT | Size of a log batch in number of events. Defaults to `1000` | No | | SPLUNK_BATCH_INTERVAL | Interval at which to send log batches. Defaults to `500` | No | diff --git a/docs/HowTo/Send-Transactions/Concurrent-Private-Transactions.md b/docs/HowTo/Send-Transactions/Concurrent-Private-Transactions.md index 5d2a72390dd..12e26497a5b 100644 --- a/docs/HowTo/Send-Transactions/Concurrent-Private-Transactions.md +++ b/docs/HowTo/Send-Transactions/Concurrent-Private-Transactions.md @@ -19,7 +19,7 @@ includes an example of how to send concurrent private transactions. !!! tip [The example](https://github.com/PegaSysEng/web3js-eea/blob/master/example/concurrentPrivateTransactions/concurrentPrivateTransactions.js) - uses [offchain privacy groups](../../Concepts/Privacy/Privacy-Groups.md). + uses [off-chain privacy groups](../../Concepts/Privacy/Privacy-Groups.md). Use [`priv_getPrivacyPrecompileAddress`](../../Reference/API-Methods.md#priv_getprivacyprecompileaddress) to get the precompile address to specify in the `to` field when creating the [privacy marker transaction]. diff --git a/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md b/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md index 4c7c3a5af10..335d90faf5f 100644 --- a/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md +++ b/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md @@ -24,7 +24,7 @@ The `gas` and `gasPrice` specified when sending a private transaction are used b Private transactions either deploy contracts or call contract functions. Ether transfer transactions cannot be private. -## eea_sendRawTransaction +## `eea_sendRawTransaction` [`eea_sendRawTransaction`](../../Reference/API-Methods.md#eea_sendrawtransaction) distributes the private transaction to the participating nodes, and signs and submits the @@ -40,7 +40,7 @@ private transaction to the participating nodes, and signs and submits the [`priv_getEeaTransactionCount`](../../Reference/API-Methods.md#priv_geteeatransactioncount) to get the nonce for an account for the specified privacy group or participants. -## priv_distributeRawTransaction +## `priv_distributeRawTransaction` [`priv_distributeRawTransaction`](../../Reference/API-Methods.md#priv_distributerawtransaction) distributes the private transaction to the participating nodes but does not sign and submit the diff --git a/docs/HowTo/Send-Transactions/Transactions.md b/docs/HowTo/Send-Transactions/Transactions.md index 5eefb6a7ed0..fee0852c93b 100644 --- a/docs/HowTo/Send-Transactions/Transactions.md +++ b/docs/HowTo/Send-Transactions/Transactions.md @@ -35,13 +35,13 @@ Ether and create a smart contract. [ethereumj](https://github.com/ethereum/ethereumj) and tools such as [MyCrypto](https://mycrypto.com/) can also create signed transactions. -## eth_call vs eth_sendRawTransaction +## `eth_call` vs `eth_sendRawTransaction` You can interact with contracts using [`eth_call`](../../Reference/API-Methods.md#eth_call) or [`eth_sendRawTransaction`](../../Reference/API-Methods.md#eth_sendrawtransaction). The table below compares the characteristics of both calls. -| eth_call | eth_sendRawTransaction | +| `eth_call` | `eth_sendRawTransaction` | |----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------| | Read-only | Write | | Invokes contract function locally | Broadcasts to the network | diff --git a/docs/HowTo/Upgrade/Upgrade-Node.md b/docs/HowTo/Upgrade/Upgrade-Node.md index 3a70a061882..845d5e513e9 100644 --- a/docs/HowTo/Upgrade/Upgrade-Node.md +++ b/docs/HowTo/Upgrade/Upgrade-Node.md @@ -16,7 +16,10 @@ You can use the [Ansible role on Galaxy](https://galaxy.ansible.com/pegasyseng/h directly or customize it to suit your needs. Upgrade the Besu version on nodes by running the play with the new version. For more information, -see the [Galaxy Readme](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). The play: +For more information, see the "Read Me" button on the +[Ansible Galaxy Besu page](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). + +The play-book: 1. Stops Besu 1. Downloads the updated version @@ -25,12 +28,13 @@ see the [Galaxy Readme](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). ## Finding peers on restarting -Nodes store known peers in the peer table. The peer table is not persisted to disk. When a node -restarts, the node connects to the specified bootnodes and discovers other nodes through the peer -discovery process. The node continues collecting data from where it left off before the restart +Nodes store known peers in the peer table. The peer table is not persisted to disk. +When a node restarts, the node connects to the specified bootnodes and discovers other nodes through the peer +discovery process. +The node continues collecting data from where it left off before the restart (assuming there was no data corruption in a failure scenario). Before the node restarted, connected peers saved the node details in their peer tables. These peers -can reconnect to the restarted node. The restarted node uses these peers, as well as the -bootnodes, to discover more peers. To ensure that the restarted node successfully rejoins the -network, ensure you specify at least one operational bootnode. +can reconnect to the restarted node. +The restarted node uses these peers and the bootnodes, to discover more peers. +To ensure that the restarted node successfully rejoins the network, ensure you specify at least one operational bootnode. diff --git a/docs/HowTo/Upgrade/Upgrade-Protocol.md b/docs/HowTo/Upgrade/Upgrade-Protocol.md index caaeb7d8dda..cdb0ceaf058 100644 --- a/docs/HowTo/Upgrade/Upgrade-Protocol.md +++ b/docs/HowTo/Upgrade/Upgrade-Protocol.md @@ -4,7 +4,7 @@ description: Upgrading protocol versions # Upgrading your protocol in a private network -To [upgrade the protocol](../../Concepts/Protocol-Upgrades.md) (also known as a hardfork) in a +To [upgrade the protocol](../../Concepts/Protocol-Upgrades.md) (also known as a hard fork) in a private network: 1. Review included EIPs for breaking changes. A [meta EIP](https://eips.ethereum.org/meta) for each diff --git a/docs/HowTo/Use-Privacy/Access-Private-Transactions.md b/docs/HowTo/Use-Privacy/Access-Private-Transactions.md index 6eeaf01f0a1..0b59bd977f3 100644 --- a/docs/HowTo/Use-Privacy/Access-Private-Transactions.md +++ b/docs/HowTo/Use-Privacy/Access-Private-Transactions.md @@ -6,7 +6,7 @@ description: Methods for accessing and managing private transactions and privacy # Accessing private and privacy marker transactions A Hyperledger Besu private transaction creates a -[privacy marker transaction](../../Concepts/Privacy/Private-Transaction-Processing.md) as well as +[privacy marker transaction](../../Concepts/Privacy/Private-Transaction-Processing.md) and the private transaction itself. ## Transaction receipts diff --git a/docs/HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md b/docs/HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md index ef47f09c7bd..8d5cf43f670 100644 --- a/docs/HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md +++ b/docs/HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md @@ -12,7 +12,7 @@ when starting Hyperledger Besu. In networks where you pay gas, you must specify a key and the associated account must contain adequate funds. -In [free gas networks](../../HowTo/Configure/FreeGas.md), to provide further anonimity by signing +In [free gas networks](../../HowTo/Configure/FreeGas.md), to provide further anonymity by signing each privacy marker transaction with a different random key, exclude the [`--privacy-marker-transaction-signing-key-file`](../../Reference/CLI/CLI-Syntax.md#privacy-marker-transaction-signing-key-file) command line option when starting Besu. diff --git a/docs/HowTo/Use-Privacy/Use-FlexiblePrivacy.md b/docs/HowTo/Use-Privacy/Use-FlexiblePrivacy.md index 3dea0cbf5d3..95ddac65b7d 100644 --- a/docs/HowTo/Use-Privacy/Use-FlexiblePrivacy.md +++ b/docs/HowTo/Use-Privacy/Use-FlexiblePrivacy.md @@ -1,10 +1,10 @@ --- -description: Use flexible privacy groups +description: Use flexible privacy groups --- # Using flexible privacy groups -Use the [web3.js-eea library](https://github.com/PegaSysEng/web3js-eea) to create and update +Use the [`web3.js-eea` library](https://github.com/PegaSysEng/web3js-eea) to create and update membership of [flexible privacy groups](../../Concepts/Privacy/Flexible-PrivacyGroups.md). !!! tip @@ -30,12 +30,12 @@ command line option to enable [flexible privacy groups](../../Concepts/Privacy/F When flexible privacy groups are enabled, the [`priv_createPrivacyGroup`](../../Reference/API-Methods.md#priv_createprivacygroup), [`priv_deletePrivacyGroup`](../../Reference/API-Methods.md#priv_deleteprivacygroup), and [`priv_findPrivacyGroup`](../../Reference/API-Methods.md#priv_findprivacygroup) methods for -[offchain privacy groups](../../Concepts/Privacy/Privacy-Groups.md) are disabled. +[off-chain privacy groups](../../Concepts/Privacy/Privacy-Groups.md) are disabled. ## Simple flexible privacy group example To create and find a [flexible privacy group](../../Concepts/Privacy/Flexible-PrivacyGroups.md) using -the [web3.js-eea library](https://github.com/PegaSysEng/web3js-eea): +the [`web3.js-eea` library](https://github.com/PegaSysEng/web3js-eea): 1. Update the `example/keys.js` file to match your network configuration. @@ -57,7 +57,7 @@ the [web3.js-eea library](https://github.com/PegaSysEng/web3js-eea): ## Adding and removing members To add and remove members from a [flexible privacy group](../../Concepts/Privacy/Flexible-PrivacyGroups.md), -use the `addToPrivacyGroup` and `removeFromPrivacyGroup` methods in the [web3.js-eea library](https://github.com/PegaSysEng/web3js-eea) +use the `addToPrivacyGroup` and `removeFromPrivacyGroup` methods in the [`web3.js-eea` library](https://github.com/PegaSysEng/web3js-eea) client library. !!! note diff --git a/docs/Reference/API-Methods.md b/docs/Reference/API-Methods.md index 6f9cab3b354..9a39f87da55 100644 --- a/docs/Reference/API-Methods.md +++ b/docs/Reference/API-Methods.md @@ -15,7 +15,7 @@ description: Hyperledger Besu JSON-RPC API methods reference {!global/Postman.md!} -## Admin methods +## `ADMIN` methods !!! note @@ -23,7 +23,7 @@ description: Hyperledger Besu JSON-RPC API methods reference methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### admin_addPeer +### `admin_addPeer` Adds a [static node](../HowTo/Find-and-Connect/Static-Nodes.md). @@ -65,7 +65,7 @@ Adds a [static node](../HowTo/Find-and-Connect/Static-Nodes.md). } ``` -### admin_changeLogLevel +### `admin_changeLogLevel` Changes the log level without restarting Besu. You can change the log level for all logs, or you can change the log level for specific packages or classes. @@ -132,7 +132,7 @@ You can specify only one log level per RPC call. } ``` -### admin_generateLogBloomCache +### `admin_generateLogBloomCache` !!! tip @@ -194,7 +194,7 @@ Generates cached log bloom indexes for blocks. APIs such as [`eth_getLogs`](#eth } ``` -### admin_logsRepairCache +### `admin_logsRepairCache` Repairs cached logs by fixing all segments starting with the specified block number. @@ -233,7 +233,7 @@ is used as the starting point. } ``` -### admin_nodeInfo +### `admin_nodeInfo` Returns networking information about the node. The information includes general information about the node and specific information from each running Ethereum sub-protocol (for example, `eth`). @@ -248,7 +248,7 @@ None Properties of the node object are: -* `enode` - [Enode URL](../Concepts/Node-Keys.md#enode-url) for the node. +* `enode` - [Enode URL](../Concepts/Node-Keys.md#enode-url) of the node. * `listenAddr` - Host and port for the node. * `name` - Client name. * `id` - [Node public key](../Concepts/Node-Keys.md#node-public-key). @@ -318,7 +318,7 @@ Properties of the node object are: } ``` -### admin_peers +### `admin_peers` Returns networking information about connected remote nodes. @@ -385,7 +385,7 @@ Properties of the remote node object are: } ``` -### admin_removePeer +### `admin_removePeer` Removes a [static node](../HowTo/Find-and-Connect/Static-Nodes.md). @@ -422,9 +422,9 @@ Removes a [static node](../HowTo/Find-and-Connect/Static-Nodes.md). } ``` -## Web3 methods +## `WEB3` methods -### web3_clientVersion +### `web3_clientVersion` Returns the current client version. @@ -460,7 +460,7 @@ None } ``` -### web3_sha3 +### `web3_sha3` Returns a [SHA3](https://en.wikipedia.org/wiki/SHA-3) hash of the specified data. The result value is a [Keccak-256](https://keccak.team/keccak.html) hash, not the standardized SHA3-256. @@ -497,9 +497,9 @@ is a [Keccak-256](https://keccak.team/keccak.html) hash, not the standardized SH } ``` -## Net methods +## `NET` methods -### net_version +### `net_version` Returns the [network ID](../Concepts/NetworkID-And-ChainID.md). @@ -513,7 +513,7 @@ None | Network ID | Chain | Network | Description |------------|-------|---------|-------------------------------| -| `1` | ETH | MainNet | Main Ethereum network | +| `1` | ETH | Mainnet | Main Ethereum network | | `3` | ETH | Ropsten | PoW test network | | `4` | ETH | Rinkeby | PoA test network using Clique | | `5` | ETH | Goerli | PoA test network using Clique | @@ -563,7 +563,7 @@ None } ``` -### net_listening +### `net_listening` Whether the client is actively listening for network connections. @@ -600,7 +600,7 @@ otherwise `false`. } ``` -### net_peerCount +### `net_peerCount` Returns the number of peers currently connected to the client. @@ -636,7 +636,7 @@ None } ``` -### net_enode +### `net_enode` Returns the [enode URL](../Concepts/Node-Keys.md#enode-url). @@ -646,7 +646,7 @@ None #### Returns -`result` : *string* - [Enode URL](../Concepts/Node-Keys.md#enode-url) for the node. +`result` : *string* - [Enode URL](../Concepts/Node-Keys.md#enode-url) of the node. !!! example @@ -672,7 +672,7 @@ None } ``` -### net_services +### `net_services` Returns enabled services (for example, `jsonrpc`) and the host and port for each service. @@ -721,7 +721,7 @@ None } ``` -## Eth methods +## `Eth` methods !!! note @@ -729,7 +729,7 @@ None request and result in the method example. The parameter and result descriptions apply to the JSON-RPC requests. The GraphQL specification is defined in the [schema]. -### eth_syncing +### `eth_syncing` Returns an object with data about the synchronization status, or `false` if not synchronizing. @@ -745,7 +745,7 @@ synchronizing: * `startingBlock` : *quantity* - Index of the highest block on the blockchain when the network synchronization starts. * `currentBlock` : *quantity* - Index of the latest block (also known as the best block) for the - current node. This is the same index that [eth_blockNumber](#eth_blocknumber) returns. + current node. This is the same index that [`eth_blockNumber`](#eth_blocknumber) returns. * `highestBlock`: *quantity* - Index of the highest known block in the peer network (that is, the highest block so far discovered among peer nodes). This is the same value as `currentBlock` if the current node has no peers. @@ -822,7 +822,7 @@ synchronizing: } ``` -### eth_chainId +### `eth_chainId` Returns the [chain ID](../Concepts/NetworkID-And-ChainID.md). @@ -858,7 +858,7 @@ None } ``` -### eth_protocolVersion +### `eth_protocolVersion` Returns current Ethereum protocol version. @@ -918,7 +918,7 @@ None } ``` -### eth_coinbase +### `eth_coinbase` Returns the client coinbase address. The coinbase address is the account to pay mining rewards to. @@ -964,7 +964,7 @@ None } ``` -### eth_mining +### `eth_mining` Whether the client is actively mining new blocks. Besu pauses mining while the client synchronizes with the network regardless of command settings or methods called. @@ -1001,7 +1001,7 @@ None } ``` -### eth_hashrate +### `eth_hashrate` Returns the number of hashes per second with which the node is mining. @@ -1040,7 +1040,7 @@ None } ``` -### eth_gasPrice +### `eth_gasPrice` Returns the current gas unit price, in wei. It's the hexadecimal equivalent of the price specified for the [`--min-gas-price`](CLI/CLI-Syntax.md#min-gas-price) command line option when the node @@ -1102,7 +1102,7 @@ None } ``` -### eth_accounts +### `eth_accounts` Returns a list of account addresses a client owns. @@ -1147,7 +1147,7 @@ None } ``` -### eth_blockNumber +### `eth_blockNumber` Returns the index corresponding to the block number of the current chain head. @@ -1212,7 +1212,7 @@ number of the current chain head. } ``` -### eth_getBalance +### `eth_getBalance` Returns the account balance of the specified address. @@ -1280,7 +1280,7 @@ Returns the account balance of the specified address. } ``` -### eth_getMinerDataByBlockHash +### `eth_getMinerDataByBlockHash` Returns miner data for the specified block. @@ -1331,7 +1331,7 @@ Returns miner data for the specified block. } ``` -### eth_getMinerDataByBlockNumber +### `eth_getMinerDataByBlockNumber` Returns miner data for the specified block. @@ -1384,9 +1384,9 @@ Returns miner data for the specified block. } ``` -### eth_getProof +### `eth_getProof` -Returns the account and storage values of the specified account, including the merkle proof. +Returns the account and storage values of the specified account, including the Merkle proof. The API allows IoT devices or mobile apps which are unable to run light clients to verify responses from untrusted sources, by using a trusted block hash. @@ -1409,11 +1409,11 @@ from untrusted sources, by using a trusted block hash. * `codeHash`:`Data, 32-byte` - Hash of the account code. * `nonce`:`Quantity` - Number of transactions sent from the account. * `storageHash`:`Data, 32-byte` - SHA3 of the `storageRoot`. -* `accountProof`:`Array` - RLP-encoded merkle tree nodes, starting with the `stateRoot`. +* `accountProof`:`Array` - RLP-encoded Merkle tree nodes, starting with the `stateRoot`. * `storageProof`:`Array`- Storage entries. Each entry is an object that displays: * `key`:`Quantity` - Storage key. * `value`:`Quantity` - Storage value. - * `proof`:`Array` - RLP-encoded merkle tree nodes, starting with the `storageHash`. + * `proof`:`Array` - RLP-encoded Merkle tree nodes, starting with the `storageHash`. !!! example @@ -1464,7 +1464,7 @@ from untrusted sources, by using a trusted block hash. } ``` -### eth_getStorageAt +### `eth_getStorageAt` Returns the value of a storage position at a specified address. @@ -1536,7 +1536,7 @@ Returns the value of a storage position at a specified address. } ``` -### eth_getTransactionCount +### `eth_getTransactionCount` Returns the number of transactions sent from a specified address. Use the `pending` tag to get the next account nonce not used by any pending transactions. @@ -1606,7 +1606,7 @@ address. } ``` -### eth_getBlockTransactionCountByHash +### `eth_getBlockTransactionCountByHash` Returns the number of transactions in the block matching the given block hash. @@ -1670,7 +1670,7 @@ Returns the number of transactions in the block matching the given block hash. } ``` -### eth_getBlockTransactionCountByNumber +### `eth_getBlockTransactionCountByNumber` Returns the number of transactions in a block matching the specified block number. @@ -1736,7 +1736,7 @@ Returns the number of transactions in a block matching the specified block numbe } ``` -### eth_getUncleByBlockHashAndIndex +### `eth_getUncleByBlockHashAndIndex` Returns uncle specified by block hash and index. @@ -1854,7 +1854,7 @@ Returns uncle specified by block hash and index. } ``` -### eth_getUncleByBlockNumberAndIndex +### `eth_getUncleByBlockNumberAndIndex` Returns uncle specified by block number and index. @@ -1960,7 +1960,7 @@ as described in [Block Parameter](../HowTo/Interact/APIs/Using-JSON-RPC-API.md#b } ``` -### eth_getUncleCountByBlockHash +### `eth_getUncleCountByBlockHash` Returns the number of uncles in a block from a block matching the given block hash. @@ -2024,7 +2024,7 @@ Returns the number of uncles in a block from a block matching the given block ha } ``` -### eth_getUncleCountByBlockNumber +### `eth_getUncleCountByBlockNumber` Returns the number of uncles in a block matching the specified block number. @@ -2090,7 +2090,7 @@ of the string tags `latest`, `earliest`, or `pending`, as described in } ``` -### eth_getCode +### `eth_getCode` Returns the code of the smart contract at the specified address. Besu stores compiled smart contract code as a hexadecimal value. @@ -2159,21 +2159,20 @@ contract code as a hexadecimal value. } ``` -### eth_sendRawTransaction +### `eth_sendRawTransaction` -Sends a [signed transaction](../HowTo/Send-Transactions/Transactions.md). A transaction can send -ether, deploy a contract, or interact with a contract. Set the maximum -transaction fee for transactions using the [`--rpc-tx-feecap`](CLI/CLI-Syntax.md#rpc-tx-feecap) CLI -option. +Sends a [signed transaction](../HowTo/Send-Transactions/Transactions.md). +A transaction can send ether, deploy a contract, or interact with a contract. +Set the maximum transaction fee for transactions using the [`--rpc-tx-feecap`](CLI/CLI-Syntax.md#rpc-tx-feecap) CLI option. -You can interact with contracts using [eth_sendRawTransaction or eth_call]. +You can interact with contracts using [`eth_sendRawTransaction` or `eth_call`]. To avoid exposing your private key, create signed transactions offline and send the signed transaction data using `eth_sendRawTransaction`. !!!important - Besu does not implement [eth_sendTransaction](../HowTo/Send-Transactions/Account-Management.md). + Besu does not implement [`eth_sendTransaction`](../HowTo/Send-Transactions/Account-Management.md). [EthSigner](https://docs.ethsigner.pegasys.tech/) provides transaction signing and implements [`eth_sendTransaction`](https://docs.ethsigner.pegasys.tech/Using-EthSigner/Using-EthSigner/#eth_sendtransaction). @@ -2242,11 +2241,11 @@ transaction data using `eth_sendRawTransaction`. } ``` -### eth_call +### `eth_call` Invokes a contract function locally and does not change the state of the blockchain. -You can interact with contracts using [eth_sendRawTransaction or eth_call]. +You can interact with contracts using [`eth_sendRawTransaction` or `eth_call`]. #### Parameters @@ -2320,7 +2319,7 @@ You can interact with contracts using [eth_sendRawTransaction or eth_call]. } ``` -### eth_estimateGas +### `eth_estimateGas` Returns an estimate of the gas required for a transaction to complete. The estimation process does not use gas and the transaction is not added to the blockchain. The resulting estimate can be @@ -2328,11 +2327,11 @@ greater than the amount of gas the transaction ends up using, for reasons includ and node performance. The `eth_estimateGas` call does not send a transaction. You must call -[eth_sendRawTransaction](#eth_sendrawtransaction) to execute the transaction. +[`eth_sendRawTransaction`](#eth_sendrawtransaction) to execute the transaction. #### Parameters -The transaction call object parameters are the same as those for [eth_call](#eth_call), except that +The transaction call object parameters are the same as those for [`eth_call`](#eth_call), except that in `eth_estimateGas`, all fields are optional. Setting a gas limit is irrelevant to the estimation process (unlike transactions, in which gas limits apply). @@ -2430,7 +2429,7 @@ process (unlike transactions, in which gas limits apply). } ``` -### eth_getBlockByHash +### `eth_getBlockByHash` Returns information about the block by hash. @@ -2555,7 +2554,7 @@ block. } ``` -### eth_getBlockByNumber +### `eth_getBlockByNumber` Returns information about a block by block number. @@ -2706,7 +2705,7 @@ block. } ``` -### eth_getTransactionByHash +### `eth_getTransactionByHash` Returns transaction information for the specified transaction hash. @@ -2814,7 +2813,7 @@ transaction. } ``` -### eth_getTransactionByBlockHashAndIndex +### `eth_getTransactionByBlockHashAndIndex` Returns transaction information for the specified block hash and transaction index position. @@ -2906,7 +2905,7 @@ transaction. } ``` -### eth_getTransactionByBlockNumberAndIndex +### `eth_getTransactionByBlockNumberAndIndex` Returns transaction information for the specified block number and transaction index position. @@ -3004,7 +3003,7 @@ transaction. } ``` -### eth_getTransactionReceipt +### `eth_getTransactionReceipt` Returns the receipt of a transaction by transaction hash. Receipts for pending transactions are not available. @@ -3122,11 +3121,11 @@ there is no receipt. } ``` -### eth_newFilter +### `eth_newFilter` Creates a [log filter](../Concepts/Events-and-Logs.md). To poll for logs associated with the -created filter, use [eth_getFilterChanges](#eth_getfilterchanges). To get all logs associated with -the filter, use [eth_getFilterLogs](#eth_getfilterlogs). +created filter, use [`eth_getFilterChanges`](#eth_getfilterchanges). To get all logs associated with +the filter, use [`eth_getFilterLogs`](#eth_getfilterlogs). #### Parameters @@ -3164,10 +3163,10 @@ the filter, use [eth_getFilterLogs](#eth_getfilterlogs). } ``` -### eth_newBlockFilter +### `eth_newBlockFilter` Creates a filter to retrieve new block hashes. To poll for new blocks, use -[eth_getFilterChanges](#eth_getfilterchanges). +[`eth_getFilterChanges`](#eth_getfilterchanges). #### Parameters @@ -3201,10 +3200,10 @@ None } ``` -### eth_newPendingTransactionFilter +### `eth_newPendingTransactionFilter` Creates a filter to retrieve new pending transactions hashes. To poll for new pending transactions, -use [eth_getFilterChanges](#eth_getfilterchanges). +use [`eth_getFilterChanges`](#eth_getfilterchanges). #### Parameters @@ -3238,7 +3237,7 @@ None } ``` -### eth_uninstallFilter +### `eth_uninstallFilter` Uninstalls a filter with the specified ID. When a filter is no longer required, call this method. @@ -3277,7 +3276,7 @@ minutes. } ``` -### eth_getFilterChanges +### `eth_getFilterChanges` Polls the specified filter and returns an array of changes that have occurred since the last poll. @@ -3369,7 +3368,7 @@ Polls the specified filter and returns an array of changes that have occurred si ``` -### eth_getFilterLogs +### `eth_getFilterLogs` Returns an array of [logs](../Concepts/Events-and-Logs.md) for the specified filter. @@ -3433,7 +3432,7 @@ command line option at the default value of `true` to improve log retrieval perf } ``` -### eth_getLogs +### `eth_getLogs` Returns an array of [logs](../Concepts/Events-and-Logs.md) matching a specified filter object. @@ -3561,7 +3560,7 @@ command line option at the default value of `true` to improve log retrieval perf } ``` -### eth_getWork +### `eth_getWork` Returns the hash of the current block, the seed hash, and the required target boundary condition. @@ -3607,7 +3606,7 @@ None } ``` -### eth_submitHashrate +### `eth_submitHashrate` Submits the mining hashrate. @@ -3646,7 +3645,7 @@ Used by mining software such as [Ethminer](https://github.com/ethereum-mining/et } ``` -### eth_submitWork +### `eth_submitWork` Submits a Proof of Work (Ethash) solution. @@ -3686,7 +3685,7 @@ Used by mining software such as [Ethminer](https://github.com/ethereum-mining/et } ``` -## Clique methods +## `CLIQUE` methods !!! note @@ -3694,7 +3693,7 @@ Used by mining software such as [Ethminer](https://github.com/ethereum-mining/et methods use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### clique_discard +### `clique_discard` Discards a proposal to [add or remove a signer with the specified address]. @@ -3730,7 +3729,7 @@ Discards a proposal to [add or remove a signer with the specified address]. } ``` -### clique_getSigners +### `clique_getSigners` Lists [signers for the specified block]. @@ -3768,7 +3767,7 @@ Lists [signers for the specified block]. } ``` -### clique_getSignerMetrics +### `clique_getSignerMetrics` Provides validator metrics for the specified range: @@ -3841,7 +3840,7 @@ If you specify: } ``` -### clique_getSignersAtHash +### `clique_getSignersAtHash` Lists signers for the specified block. @@ -3877,7 +3876,7 @@ Lists signers for the specified block. } ``` -### clique_propose +### `clique_propose` Propose to [add or remove a signer with the specified address]. @@ -3915,7 +3914,7 @@ Propose to [add or remove a signer with the specified address]. } ``` -### clique_proposals +### `clique_proposals` Returns [current proposals](../HowTo/Configure/Consensus-Protocols/Clique.md#adding-and-removing-signers). @@ -3959,7 +3958,7 @@ remove a signer. } ``` -## Debug methods +## `DEBUG` methods !!! note @@ -3969,7 +3968,7 @@ remove a signer. The DEBUG API is a more verbose alternative to the [TRACE API](#trace-methods) whose main purpose is compatibility with tools such as [Remix](https://remix.ethereum.org/). We recommend using the [TRACE API](#trace-methods) for production use over the DEBUG API. -### debug_accountRange +### `debug_accountRange` [Retesteth](https://github.com/ethereum/retesteth/wiki/Retesteth-Overview) uses `debug_accountRange` to implement debugging. @@ -4027,7 +4026,7 @@ Returns the accounts for a specified block. } ``` -### debug_storageRangeAt +### `debug_storageRangeAt` [Remix](https://remix.ethereum.org/) uses `debug_storageRangeAt` to implement debugging. Use the _Debugger_ tab in Remix instead of calling `debug_storageRangeAt` directly. @@ -4082,7 +4081,7 @@ Returns the contract storage for the specified range. } ``` -### debug_metrics +### `debug_metrics` Returns metrics providing information on the internal operation of Besu. @@ -4218,7 +4217,7 @@ None } ``` -### debug_traceTransaction +### `debug_traceTransaction` [Remix](https://remix.ethereum.org/) uses `debug_traceTransaction` to implement debugging. Use the _Debugger_ tab in Remix instead of calling `debug_traceTransaction` directly. @@ -4277,7 +4276,7 @@ Reruns the transaction with the same state as when the transaction executed. } ``` -### debug_traceBlock +### `debug_traceBlock` Returns full trace of all invoked opcodes of all transactions included in the block. @@ -4333,7 +4332,7 @@ Returns full trace of all invoked opcodes of all transactions included in the bl } ``` -### debug_traceBlockByHash +### `debug_traceBlockByHash` Returns full trace of all invoked opcodes of all transactions included in the block. @@ -4394,7 +4393,7 @@ Returns full trace of all invoked opcodes of all transactions included in the bl } ``` -### debug_traceBlockByNumber +### `debug_traceBlockByNumber` Returns full trace of all invoked opcodes of all transactions included in the block. @@ -4457,7 +4456,7 @@ Returns full trace of all invoked opcodes of all transactions included in the bl } ``` -## Miner methods +## `MINER` methods !!! note @@ -4465,7 +4464,7 @@ Returns full trace of all invoked opcodes of all transactions included in the bl methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### miner_start +### `miner_start` Starts the mining process. To start mining, you must first specify a miner coinbase using the [`--miner-coinbase`](CLI/CLI-Syntax.md#miner-coinbase) command line option. @@ -4502,7 +4501,7 @@ None } ``` -### miner_stop +### `miner_stop` Stops the mining process on the client. @@ -4538,7 +4537,7 @@ None } ``` -## IBFT 2.0 methods +## `IBFT` 2.0 methods !!! note @@ -4546,7 +4545,7 @@ None methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### ibft_discardValidatorVote +### `ibft_discardValidatorVote` Discards a proposal to [add or remove a validator] with the specified address. @@ -4582,7 +4581,7 @@ Discards a proposal to [add or remove a validator] with the specified address. } ``` -### ibft_getPendingVotes +### `ibft_getPendingVotes` Returns [votes](../HowTo/Configure/Consensus-Protocols/IBFT.md#adding-and-removing-validators) cast in the current [epoch](../HowTo/Configure/Consensus-Protocols/IBFT.md#genesis-file). @@ -4626,7 +4625,7 @@ remove a validator. } ``` -### ibft_getValidatorsByBlockHash +### `ibft_getValidatorsByBlockHash` Lists the validators defined in the specified block. @@ -4666,7 +4665,7 @@ Lists the validators defined in the specified block. } ``` -### ibft_getValidatorsByBlockNumber +### `ibft_getValidatorsByBlockNumber` Lists the validators defined in the specified block. @@ -4708,7 +4707,7 @@ Lists the validators defined in the specified block. } ``` -### ibft_proposeValidatorVote +### `ibft_proposeValidatorVote` Propose to [add or remove a validator] with the specified address. @@ -4746,7 +4745,7 @@ Propose to [add or remove a validator] with the specified address. } ``` -### ibft_getSignerMetrics +### `ibft_getSignerMetrics` Provides validator metrics for the specified range: @@ -4819,7 +4818,7 @@ If you specify: } ``` -## Permissioning methods +## `PERM` (Permissioning) methods Use the permissioning API methods for [local](../HowTo/Limit-Access/Local-Permissioning.md) permissioning only. @@ -4830,7 +4829,7 @@ permissioning only. methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) CLI options. -### perm_addAccountsToAllowlist +### `perm_addAccountsToAllowlist` Adds accounts (participants) to the [accounts permission list](../HowTo/Limit-Access/Local-Permissioning.md#account-permissioning). @@ -4873,7 +4872,7 @@ allowlist or including invalid account addresses. } ``` -### perm_getAccountsAllowlist +### `perm_getAccountsAllowlist` Lists accounts (participants) in the [accounts permissions list](../HowTo/Limit-Access/Local-Permissioning.md#account-permissioning). @@ -4913,7 +4912,7 @@ None } ``` -### perm_removeAccountsFromAllowlist +### `perm_removeAccountsFromAllowlist` Removes accounts (participants) from the [accounts permissions list](../HowTo/Limit-Access/Local-Permissioning.md#account-permissioning). @@ -4956,7 +4955,7 @@ or including invalid account addresses. } ``` -### perm_addNodesToAllowlist +### `perm_addNodesToAllowlist` Adds nodes to the [nodes allowlist](../HowTo/Limit-Access/Local-Permissioning.md#node-allowlisting). @@ -4999,7 +4998,7 @@ including invalid enode URLs. } ``` -### perm_getNodesAllowlist +### `perm_getNodesAllowlist` Lists nodes in the [nodes allowlist](../HowTo/Limit-Access/Local-Permissioning.md#node-allowlisting). @@ -5039,7 +5038,7 @@ None } ``` -### perm_removeNodesFromAllowlist +### `perm_removeNodesFromAllowlist` Removes nodes from the [nodes allowlist](../HowTo/Limit-Access/Local-Permissioning.md#node-allowlisting). @@ -5082,7 +5081,7 @@ or including invalid enode URLs. } ``` -### perm_reloadPermissionsFromFile +### `perm_reloadPermissionsFromFile` Reloads the accounts and nodes allowlists from the [permissions configuration file]. @@ -5118,7 +5117,7 @@ None } ``` -## Txpool methods +## `TXPOOL` methods !!! note @@ -5126,7 +5125,7 @@ None methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### txpool_besuPendingTransactions +### `txpool_besuPendingTransactions` Lists pending transactions that match the supplied filter conditions. @@ -5137,7 +5136,7 @@ Lists pending transactions that match the supplied filter conditions. Each field in the object corresponds to a field name containing an operator, and a value for the operator. A field name can only be specified once, and can only contain one operator. -For example, you cannot ask for transactions with a gas price between 8 and 9 Gwei by using both the +For example, you cannot query transactions with a gas price between 8 and 9 Gwei by using both the `gt` and `lt` operator in the same field name instance. All filters must be satisfied for a transaction to be returned. @@ -5240,7 +5239,7 @@ Supported operators: } ``` -### txpool_besuStatistics +### `txpool_besuStatistics` Lists statistics about the node transaction pool. @@ -5285,7 +5284,7 @@ None } ``` -### txpool_besuTransactions +### `txpool_besuTransactions` Lists transactions in the node transaction pool. @@ -5332,7 +5331,7 @@ None } ``` -## Trace methods +## `TRACE` methods !!! note @@ -5342,7 +5341,7 @@ None The TRACE API is an more concise alternative to the [DEBUG API](#debug-methods). -### trace_replayBlockTransactions +### `trace_replayBlockTransactions` Provides transaction processing tracing per block. @@ -5455,7 +5454,7 @@ one object per transaction, in transaction execution order. } ``` -### trace_block +### `trace_block` Provides transaction processing of [type `trace`](Trace-Types.md#trace) for the specified block. @@ -5554,7 +5553,7 @@ one object per call, in transaction execution order. } ``` -### trace_transaction +### `trace_transaction` Provides transaction processing of [type `trace`](Trace-Types.md#trace) for the specified transaction. @@ -5683,7 +5682,7 @@ one object per call, in the order called by the transaction. } ``` -## EEA methods +## `EEA` methods !!! note @@ -5691,7 +5690,7 @@ one object per call, in the order called by the transaction. use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### eea_sendRawTransaction +### `eea_sendRawTransaction` Distributes the [private transaction](../HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md), @@ -5765,7 +5764,7 @@ transaction data using `eea_sendRawTransaction`. } ``` -## Priv methods +## `PRIV` methods !!! note @@ -5773,7 +5772,7 @@ transaction data using `eea_sendRawTransaction`. methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### priv_call +### `priv_call` Invokes a private contract function locally and does not change the privacy group state. @@ -5853,7 +5852,7 @@ For private contracts, `priv_call` is the same as [`eth_call`](#eth_call) for pu } ``` -### priv_distributeRawTransaction +### `priv_distributeRawTransaction` Distributes a signed, RLP encoded [private transaction](../HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md). @@ -5899,7 +5898,7 @@ Distributes a signed, RLP encoded } ``` -### priv_getEeaTransactionCount +### `priv_getEeaTransactionCount` Returns the private transaction count for the specified account and [group of sender and recipients]. @@ -5947,7 +5946,7 @@ specified group of sender and recipients. } ``` -### priv_getFilterChanges +### `priv_getFilterChanges` Polls the specified filter for a private contract and returns an array of changes that have occurred since the last poll. @@ -6006,7 +6005,7 @@ empty list. } ``` -### priv_getFilterLogs +### `priv_getFilterLogs` Returns an array of [logs](../Concepts/Events-and-Logs.md) for the specified filter for a private contract. @@ -6083,7 +6082,7 @@ for private contracts. } ``` -### priv_getLogs +### `priv_getLogs` Returns an array of [logs](../Concepts/Events-and-Logs.md) matching a specified filter object. @@ -6154,7 +6153,7 @@ for private contracts. } ``` -### priv_getPrivacyPrecompileAddress +### `priv_getPrivacyPrecompileAddress` Returns the address of the [privacy precompiled contract](../Concepts/Privacy/Private-Transaction-Processing.md). The address @@ -6193,7 +6192,7 @@ None } ``` -### priv_getPrivateTransaction +### `priv_getPrivateTransaction` Returns the private transaction if you are a participant, otherwise, `null`. @@ -6248,7 +6247,7 @@ a participant in the private transaction. } ``` -### priv_createPrivacyGroup +### `priv_createPrivacyGroup` Creates a group of nodes, specified by their [Orion](https://docs.orion.pegasys.tech/) public key. @@ -6289,7 +6288,7 @@ Privacy group ID } ``` -### priv_deletePrivacyGroup +### `priv_deletePrivacyGroup` Deletes the specified privacy group. @@ -6325,7 +6324,7 @@ Privacy group ID that was deleted. } ``` -### priv_findPrivacyGroup +### `priv_findPrivacyGroup` Returns a list of privacy groups containing only the listed members. For example, if the listed members are A and B, a privacy group containing A, B, and C is not returned. @@ -6378,7 +6377,7 @@ or [Besu-extended](../Concepts/Privacy/Privacy-Groups.md#besu-extended-privacy) } ``` -### priv_getCode +### `priv_getCode` Returns the code of the private smart contract at the specified address. Compiled smart contract code is stored as a hexadecimal value. @@ -6420,7 +6419,7 @@ or `pending`, as described in [Block Parameter](../HowTo/Interact/APIs/Using-JSO } ``` -### priv_getTransactionCount +### `priv_getTransactionCount` Returns the private transaction count for specified account and privacy group. @@ -6465,7 +6464,7 @@ specified privacy group. } ``` -### priv_getTransactionReceipt +### `priv_getTransactionReceipt` Returns information about the private transaction after mining the transaction. Receipts for pending transactions are not available. @@ -6517,7 +6516,7 @@ or `null` if no receipt found. } ``` -### priv_newFilter +### `priv_newFilter` Creates a [log filter](../Concepts/Events-and-Logs.md) for a private contract. To poll for logs associated with the created filter, use [`priv_getFilterChanges`](#priv_getfilterchanges). To get all logs associated with @@ -6564,7 +6563,7 @@ for public contracts. } ``` -### priv_uninstallFilter +### `priv_uninstallFilter` Uninstalls a filter for a private contract with the specified ID. When a filter is no longer required, call this method. @@ -6609,7 +6608,7 @@ for public contracts. } ``` -## Plugins methods +## `PLUGINS` methods !!! note @@ -6617,7 +6616,7 @@ for public contracts. methods, use the [`--rpc-http-api`](CLI/CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](CLI/CLI-Syntax.md#rpc-ws-api) options. -### plugins_reloadPluginConfig +### `plugins_reloadPluginConfig` Reloads specified plugin configuration. @@ -6655,7 +6654,7 @@ Reloads specified plugin configuration. ## Miscellaneous methods -### rpc_modules +### `rpc_modules` Lists [enabled APIs](../HowTo/Interact/APIs/Using-JSON-RPC-API.md#api-methods-enabled-by-default) and the version of each. @@ -6705,3 +6704,5 @@ Enabled APIs. [add or remove a validator]: ../HowTo/Configure/Consensus-Protocols/IBFT.md#adding-and-removing-validators [permissions configuration file]: ../HowTo/Limit-Access/Local-Permissioning.md#permissions-configuration-file [group of sender and recipients]: ../Concepts/Privacy/Privacy-Groups.md#enterprise-ethereum-alliance-privacy + +*[EEA]: Enterprise Ethereum Alliance diff --git a/docs/Reference/API-Objects.md b/docs/Reference/API-Objects.md index e886a4d2793..b7a5013f5d9 100644 --- a/docs/Reference/API-Objects.md +++ b/docs/Reference/API-Objects.md @@ -133,7 +133,7 @@ Returned by [`debug_storageRangeAt`](API-Methods.md#debug_storagerangeat). | Key | Type | Value | |-----------------|:-------:|-------------------------------------------------------------------------| -| **storage** | Object | Key hash and value. Preimage key is null if it falls outside the cache. | +| **storage** | Object | Key hash and value. Pre-image key is `null` if it falls outside the cache. | | **nextKey** | Hash | Hash of next key if further storage in range. Otherwise, not included. | ### Structured log object @@ -235,7 +235,7 @@ Returned by [`eth_getTransactionReceipt`](API-Methods.md#eth_gettransactionrecei | Key | Type | Value | |----------|:------------------:|---------------------------| -| **root** | Data, 32 bytes| Post-transaction stateroot| +| **root** | Data, 32 bytes| Post-transaction state root| ## Transaction trace object diff --git a/docs/Reference/CLI/CLI-Subcommands.md b/docs/Reference/CLI/CLI-Subcommands.md index 1779d858551..2fa0c636141 100644 --- a/docs/Reference/CLI/CLI-Subcommands.md +++ b/docs/Reference/CLI/CLI-Subcommands.md @@ -4,11 +4,11 @@ description: Hyperledger Besu command line interface subcommands # Subcommands -## blocks +## `blocks` Provides blocks related actions. -### import +### `import` === "Syntax" @@ -24,7 +24,7 @@ Provides blocks related actions. Imports blocks from the specified file into the blockchain database. -### export +### `export` === "Syntax" @@ -46,7 +46,7 @@ omit `--end-block`, the end block defaults to the end of the chain. If you are not running the command against the default network (MainNet), specify the `--network` or `--genesis-file` parameter. -## public-key +## `public-key` This command provides node public key related actions. @@ -58,7 +58,7 @@ This command provides node public key related actions. command. Otherwise, a new [node key](../../Concepts/Node-Keys.md) is silently generated when starting Besu. -### export +### `export` === "Syntax" @@ -80,7 +80,7 @@ This command provides node public key related actions. Outputs the node public key to standard output or to the file specified by `--to=`. -### export-address +### `export-address` === "Syntax" @@ -102,11 +102,11 @@ Outputs the node public key to standard output or to the file specified by `--to Outputs the node address to standard output or to the file specified by `--to=`. -## password +## `password` Provides password related actions. -### hash +### `hash` This command generates the hash of a given password. Include the hash in the [credentials file](../../HowTo/Interact/APIs/Authentication.md#credentials-file) for JSON-RPC API @@ -124,11 +124,11 @@ This command generates the hash of a given password. Include the hash in the besu password hash --password=myPassword123 ``` -## operator +## `operator` Provides operator actions. -### generate-blockchain-config +### `generate-blockchain-config` This command generates [IBFT 2.0 configuration files](../../Tutorials/Private-Network/Create-IBFT-Network.md). @@ -145,12 +145,12 @@ This command generates besu operator generate-blockchain-config --config-file=config.json --to=myNetworkFiles ``` -The configuration file has 2 subnested JSON nodes. The first is the `genesis` property defining the +The configuration file has 2 nested JSON nodes. The first is the `genesis` property defining the [IBFT 2.0 genesis file](../../HowTo/Configure/Consensus-Protocols/IBFT.md#genesis-file) except for the `extraData` string. The second is the `blockchain` property defining the number of key pairs to generate. -### generate-log-bloom-cache +### `generate-log-bloom-cache` !!! tip @@ -181,11 +181,11 @@ To generate cached log bloom indexes while the node is running, use the besu --network=goerli --data-path=/project/goerli operator generate-log-bloom-cache --start-block=0 --end-block=100000 ``` -## rlp +## `rlp` Provides RLP related actions. -### encode +### `encode` This command encodes a typed JSON value from a file or from the standard input into an RLP hexadecimal string. @@ -262,7 +262,7 @@ the `IBFT_EXTRA_DATA` type. 0xf853a00000000000000000000000000000000000000000000000000000000000000000ea94be068f726a13c8d46c44be6ce9d275600e1735a4945ff6f4b66a46a2b2310a6f3a93aaddc0d9a1c193808400000000c0 ``` -## retesteth +## `retesteth` Runs a Retesteth-compatible server. [Retesteth](https://github.com/ethereum/retesteth/wiki) is a developer tool that can generate and run consensus tests against any Ethereum client running such a diff --git a/docs/Reference/CLI/CLI-Syntax.md b/docs/Reference/CLI/CLI-Syntax.md index 4ae97efc520..9dcf8275efc 100644 --- a/docs/Reference/CLI/CLI-Syntax.md +++ b/docs/Reference/CLI/CLI-Syntax.md @@ -36,7 +36,7 @@ To start a Besu node run: besu [OPTIONS] [COMMAND] ``` -### auto-log-bloom-caching-enabled +### `auto-log-bloom-caching-enabled` === "Syntax" @@ -67,7 +67,7 @@ performs an uncached query for logs not yet written to the cache. Automatic log bloom caching has a small impact on performance. If you are not querying logs blooms for a large number of blocks, you might want to disable automatic log bloom caching. -### banned-node-ids +### `banned-node-ids` === "Syntax" @@ -101,7 +101,7 @@ You can specify the banned node IDs with or without the `0x` prefix. The singular `--banned-node-id` and plural `--banned-node-ids` are available and are two names for the same option. -### bootnodes +### `bootnodes` === "Syntax" @@ -135,7 +135,7 @@ When connecting to MainNet or public testnets, the default is a predefined list In private networks defined using [`--genesis-file`](#genesis-file) or when using [`--network=dev`](#network), the default is an empty list of bootnodes. -### config-file +### `config-file` === "Syntax" @@ -158,7 +158,7 @@ In private networks defined using [`--genesis-file`](#genesis-file) or when usin The path to the [TOML configuration file](../../HowTo/Configure/Using-Configuration-File.md). The default is `none`. -### data-path +### `data-path` === "Syntax" @@ -187,7 +187,7 @@ The default is `none`. The path to the Besu data directory. The default is the directory you installed Besu in, or `/opt/besu/database` if using the [Besu Docker image](../../HowTo/Get-Started/Installation-Options/Run-Docker-Image.md). -### discovery-enabled +### `discovery-enabled` === "Syntax" @@ -210,7 +210,7 @@ The path to the Besu data directory. The default is the directory you installed Enables or disables P2P discovery. The default is `true`. -### fast-sync-min-peers +### `fast-sync-min-peers` === "Syntax" @@ -243,7 +243,7 @@ The minimum number of peers required before starting fast sync. The default is 5 If synchronizing in FAST mode, most historical world state data is unavailable. Any methods attempting to access unavailable world state data return `null`. -### genesis-file +### `genesis-file` Use the genesis file to create a custom network. @@ -283,7 +283,7 @@ The path to the genesis file. You cannot use the [`--genesis-file`](#genesis-file) and [`--network`](#network) options at the same time. -### graphql-http-cors-origins +### `graphql-http-cors-origins` === "Syntax" @@ -311,7 +311,7 @@ The path to the genesis file. A list of comma-separated origin domain URLs for CORS validation. The default is none. -### graphql-http-enabled +### `graphql-http-enabled` === "Syntax" @@ -335,7 +335,7 @@ Enables the GraphQL HTTP service. The default is `false`. The default GraphQL HTTP service endpoint is `http://127.0.0.1:8547/graphql` if set to `true`. -### graphql-http-host +### `graphql-http-host` === "Syntax" @@ -368,7 +368,7 @@ The default is 127.0.0.1. To allow remote connections, set to `0.0.0.0` -### graphql-http-port +### `graphql-http-port` === "Syntax" @@ -399,7 +399,7 @@ To allow remote connections, set to `0.0.0.0` The GraphQL HTTP listening port (TCP). The default is 8547. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### help +### `help` === "Syntax" @@ -409,7 +409,7 @@ The GraphQL HTTP listening port (TCP). The default is 8547. Ports must be Show the help message and exit. -### host-allowlist +### `host-allowlist` === "Syntax" @@ -449,7 +449,7 @@ default, Besu accepts access from `localhost` and `127.0.0.1`. To allow all hostnames, use `"*"`. We don't recommend allowing all hostnames for production environments. -### identity +### `identity` === "Syntax" @@ -482,7 +482,7 @@ Ethereum network explorers. For example, in the client ID If a name is not specified, the name section is not included in the client ID. For example, `besu/v1.3.4/linux-x86_64/oracle_openjdk-java-11`. -### key-value-storage +### `key-value-storage` === "Syntax" @@ -511,7 +511,7 @@ If a name is not specified, the name section is not included in the client ID. F The key-value storage to use. Use this option only if using a storage system provided with a plugin. The default is `rocksdb`. -### logging +### `logging` === "Syntax" @@ -531,7 +531,7 @@ plugin. The default is `rocksdb`. BESU_LOGGING=DEBUG ``` -=== "Example Configration File" +=== "Example Configuration File" ```bash logging="DEBUG" @@ -540,7 +540,7 @@ plugin. The default is `rocksdb`. Sets logging verbosity. Log levels are `OFF`, `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`, `ALL`. The default is `INFO`. -### max-peers +### `max-peers` === "Syntax" @@ -568,7 +568,7 @@ Sets logging verbosity. Log levels are `OFF`, `FATAL`, `ERROR`, `WARN`, `INFO`, The maximum number of P2P connections you can establish. The default is 25. -### metrics-category +### `metrics-category` === "Syntax" @@ -604,7 +604,7 @@ Other categories are `KVSTORE_ROCKSDB`, `KVSTORE_PRIVATE_ROCKSDB`, `KVSTORE_ROCK Categories containing `PRIVATE` track metrics when you enable [private transactions](../../Concepts/Privacy/Privacy-Overview.md). -### metrics-enabled +### `metrics-enabled` === "Syntax" @@ -631,7 +631,7 @@ default is `false`. You cannot specify `--metrics-enabled` with `--metrics-push-enabled`. That is, you can enable either Prometheus polling or Prometheus push gateway support, but not both at once. -### metrics-host +### `metrics-host` === "Syntax" @@ -663,7 +663,7 @@ metrics server respects the [`--host-allowlist` option](#host-allowlist). The default is `127.0.0.1`. -### metrics-port +### `metrics-port` === "Syntax" @@ -694,7 +694,7 @@ The port (TCP) on which [Prometheus](https://prometheus.io/) accesses default is `9545`. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### metrics-push-enabled +### `metrics-push-enabled` === "Syntax" @@ -725,7 +725,7 @@ Enables or disables [push gateway integration]. You cannot specify `--metrics-push-enabled` with `--metrics-enabled`. That is, you can enable either Prometheus polling or Prometheus push gateway support, but not both at once. -### metrics-push-host +### `metrics-push-host` === "Syntax" @@ -759,7 +759,7 @@ is `127.0.0.1`. The metrics server respects the [`--host-allowlist` option](#hos When pushing metrics, ensure you set `--metrics-push-host` to the machine on which the push gateway is. Generally, this is a different machine to the machine on which Besu is running. -### metrics-push-interval +### `metrics-push-interval` === "Syntax" @@ -787,7 +787,7 @@ is `127.0.0.1`. The metrics server respects the [`--host-allowlist` option](#hos The interval, in seconds, to push metrics when in `push` mode. The default is 15. -### metrics-push-port +### `metrics-push-port` === "Syntax" @@ -817,7 +817,7 @@ The port (TCP) of the [Prometheus Push Gateway](https://github.com/prometheus/pu default is `9001`. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### metrics-push-prometheus-job +### `metrics-push-prometheus-job` === "Syntax" @@ -845,7 +845,7 @@ default is `9001`. Ports must be The job name when in `push` mode. The default is `besu-client`. -### miner-coinbase +### `miner-coinbase` === "Syntax" @@ -881,7 +881,7 @@ using the [`--miner-enabled`](#miner-enabled) option or the [Clique](../../HowTo/Configure/Consensus-Protocols/Clique.md) or [IBFT 2.0](../../HowTo/Configure/Consensus-Protocols/IBFT.md) consensus protocols. -### miner-enabled +### `miner-enabled` === "Syntax" @@ -904,7 +904,7 @@ using the [`--miner-enabled`](#miner-enabled) option or the Enables mining when you start the node. The default is `false`. -### miner-extra-data +### `miner-extra-data` === "Syntax" @@ -933,7 +933,7 @@ The default is `false`. A hex string representing the 32 bytes included in the extra data field of a mined block. The default is 0x. -### miner-stratum-enabled +### `miner-stratum-enabled` === "Syntax" @@ -956,7 +956,7 @@ default is 0x. Enables a node to perform stratum mining. The default is `false`. -### miner-stratum-host +### `miner-stratum-host` === "Syntax" @@ -985,7 +985,7 @@ The default is `false`. The host of the stratum mining service. The default is `0.0.0.0`. -### miner-stratum-port +### `miner-stratum-port` === "Syntax" @@ -1014,7 +1014,7 @@ The default is `0.0.0.0`. The port of the stratum mining service. The default is `8008`. You must [expose ports appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### min-gas-price +### `min-gas-price` === "Syntax" @@ -1046,7 +1046,7 @@ Wei. In a [free gas network](../../HowTo/Configure/FreeGas.md), set to zero. -### nat-method +### `nat-method` === "Syntax" @@ -1084,7 +1084,7 @@ The default is `AUTO`. `NONE` disables NAT functionality. You must specify `DOCKER` when using the [Besu Docker image](../../HowTo/Get-Started/Installation-Options/Run-Docker-Image.md). -### network +### `network` === "Syntax" @@ -1135,7 +1135,7 @@ Possible values are: You cannot use the [`--network`](#network) and [`--genesis-file`](#genesis-file) options at the same time. -### network-id +### `network-id` === "Syntax" @@ -1166,7 +1166,7 @@ The [P2P network identifier](../../Concepts/NetworkID-And-ChainID.md). Use this option to override the default network ID. The default value is the same as the chain ID defined in the genesis file. -### node-private-key-file +### `node-private-key-file` === "Syntax" @@ -1203,7 +1203,7 @@ existing key file specifies the node private key. This option is ignored if [`--security-module`](#security-module) is set to a non-default value. -### p2p-enabled +### `p2p-enabled` === "Syntax" @@ -1232,7 +1232,7 @@ a non-default value. Enables or disables all P2P communication. The default is true. -### p2p-host +### `p2p-host` === "Syntax" @@ -1263,7 +1263,7 @@ The default is true. The host on which P2P listens. The default is 127.0.0.1. -### p2p-interface +### `p2p-interface` === "Syntax" @@ -1294,7 +1294,7 @@ The network interface on which the node listens for option to specify the required network interface when the device that Besu is running on has multiple network interfaces. The default is 0.0.0.0 (all interfaces). -### p2p-port +### `p2p-port` === "Syntax" @@ -1325,7 +1325,7 @@ multiple network interfaces. The default is 0.0.0.0 (all interfaces). The P2P listening ports (UDP and TCP). The default is 30303. You must [expose ports appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### permissions-accounts-config-file +### `permissions-accounts-config-file` === "Syntax" @@ -1359,7 +1359,7 @@ the [data directory](#data-path). `--permissions-accounts-config-file` and [`--permissions-nodes-config-file`](#permissions-nodes-config-file) can use the same file. -### permissions-accounts-config-file-enabled +### `permissions-accounts-config-file-enabled` === "Syntax" @@ -1387,7 +1387,7 @@ the [data directory](#data-path). Enables or disables file-based account level permissions. The default is `false`. -### permissions-accounts-contract-address +### `permissions-accounts-contract-address` === "Syntax" @@ -1416,7 +1416,7 @@ Enables or disables file-based account level permissions. The default is `false` The contract address for [onchain account permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). -### permissions-accounts-contract-enabled +### `permissions-accounts-contract-enabled` === "Syntax" @@ -1446,7 +1446,7 @@ Enables or disables contract-based [onchain account permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). The default is `false`. -### permissions-nodes-config-file +### `permissions-nodes-config-file` === "Syntax" @@ -1481,7 +1481,7 @@ the [data directory](#data-path). [`--permissions-accounts-config-file`](#permissions-accounts-config-file) can use the same file. -### permissions-nodes-config-file-enabled +### `permissions-nodes-config-file-enabled` === "Syntax" @@ -1509,7 +1509,7 @@ the [data directory](#data-path). Enables or disables file-based node level permissions. The default is `false`. -### permissions-nodes-contract-address +### `permissions-nodes-contract-address` === "Syntax" @@ -1538,7 +1538,7 @@ Enables or disables file-based node level permissions. The default is `false`. The contract address for [onchain node permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). -### permissions-nodes-contract-enabled +### `permissions-nodes-contract-enabled` === "Syntax" @@ -1568,7 +1568,7 @@ Enables or disables contract-based [onchain node permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). The default is `false`. -### permissions-nodes-contract-version +### `permissions-nodes-contract-version` === "Syntax" @@ -1597,7 +1597,7 @@ Enables or disables contract-based Version of the EEA [node permissioning interface](../../HowTo/Limit-Access/Specify-Perm-Version.md). The default is 1. -### privacy-enabled +### `privacy-enabled` === "Syntax" @@ -1631,7 +1631,7 @@ is false. Using private transactions with [pruning](../../Concepts/Pruning.md) and/or Fast Sync is not supported. -### privacy-marker-transaction-signing-key-file +### `privacy-marker-transaction-signing-key-file` === "Syntax" @@ -1665,7 +1665,7 @@ key. If using [account permissioning] and privacy, you must specify a private key file and the signing key included in the accounts allowlist. -### privacy-multi-tenancy-enabled +### `privacy-multi-tenancy-enabled` === "Syntax" @@ -1694,7 +1694,7 @@ key included in the accounts allowlist. Enables or disables [multi-tenancy](../../Concepts/Privacy/Multi-Tenancy.md) for private transactions. The default is `false`. -### privacy-onchain-groups-enabled +### `privacy-onchain-groups-enabled` === "Syntax" @@ -1722,7 +1722,7 @@ transactions. The default is `false`. Set to enable [flexible privacy groups](../../Concepts/Privacy/Flexible-PrivacyGroups.md). Default is `false`. -### privacy-public-key-file +### `privacy-public-key-file` === "Syntax" @@ -1755,7 +1755,7 @@ The [public key of the Orion node](../../Concepts/Privacy/Privacy-Overview.md#be You cannot specify `privacy-public-key-file` when [`--privacy-multi-tenancy-enabled`](#privacy-multi-tenancy-enabled) is `true` -### privacy-tls-enabled +### `privacy-tls-enabled` === "Syntax" @@ -1784,7 +1784,7 @@ The [public key of the Orion node](../../Concepts/Privacy/Privacy-Overview.md#be Enables or disables [TLS on communication with the Private Transaction Manager]. The default is false. -### privacy-tls-keystore-file +### `privacy-tls-keystore-file` === "Syntax" @@ -1816,7 +1816,7 @@ during authentication. You must specify `privacy-tls-keystore-file` if [`--privacy-tls-enabled`](#privacy-tls-enabled) is `true`. -### privacy-tls-keystore-password-file +### `privacy-tls-keystore-password-file` === "Syntax" @@ -1844,7 +1844,7 @@ You must specify `privacy-tls-keystore-file` if [`--privacy-tls-enabled`](#priva The path to the file containing the password to decrypt the keystore. -### privacy-tls-known-enclave-file +### `privacy-tls-known-enclave-file` === "Syntax" @@ -1873,7 +1873,7 @@ The path to the file containing the password to decrypt the keystore. The path to the file containing the hostnames, ports, and SHA256 certificate fingerprints of the [authorized privacy enclave](../../HowTo/Configure/Configure-TLS.md#create-the-known-servers-file). -### privacy-url +### `privacy-url` === "Syntax" @@ -1903,7 +1903,7 @@ The URL on which the [Orion node](../../Tutorials/Privacy/Configuring-Privacy.md#4-create-orion-configuration-files) is running. -### pruning-block-confirmations +### `pruning-block-confirmations` === "Syntax" @@ -1936,7 +1936,7 @@ nodes that cannot be pruned. The default is 10. Using pruning with [private transactions](../../Concepts/Privacy/Privacy-Overview.md) is not supported. -### pruning-blocks-retained +### `pruning-blocks-retained` === "Syntax" @@ -1968,7 +1968,7 @@ The minimum number of recent blocks to keep the entire world state for. The defa Using pruning with [private transactions](../../Concepts/Privacy/Privacy-Overview.md) is not supported. -### pruning-enabled +### `pruning-enabled` === "Syntax" @@ -2001,7 +2001,7 @@ Enables [pruning](../../Concepts/Pruning.md) to reduce storage required for the Using pruning with [private transactions](../../Concepts/Privacy/Privacy-Overview.md) is not supported. -### remote-connections-limit-enabled +### `remote-connections-limit-enabled` === "Syntax" @@ -2041,7 +2041,7 @@ default is true. any public network, and especially when using [`--sync-mode`](#sync-mode) and [`--fast-sync-min-peers`](#fast-sync-min-peers). -### remote-connections-max-percentage +### `remote-connections-max-percentage` === "Syntax" @@ -2070,7 +2070,7 @@ default is true. The percentage of remote P2P connections you can establish with the node. Must be between 0 and 100, inclusive. The default is 60. -### required-block +### `required-block` === "Syntax" @@ -2099,7 +2099,7 @@ The percentage of remote P2P connections you can establish with the node. Must b Requires a peer with the specified block number to have the specified hash when connecting, or Besu rejects that peer. -### revert-reason-enabled +### `revert-reason-enabled` === "Syntax" @@ -2133,7 +2133,7 @@ transaction receipt. The default is `false`. Enabling revert reason may use a significant amount of memory. We do not recommend enabling revert reason when connected to public Ethereum networks. -### rpc-http-api +### `rpc-http-api` === "Syntax" @@ -2169,7 +2169,7 @@ you must also specify the `--rpc-http-enabled` option. The available API options The singular `--rpc-http-api` and plural `--rpc-http-apis` are available and are two names for the same option. -### rpc-http-authentication-credentials-file +### `rpc-http-authentication-credentials-file` === "Syntax" @@ -2198,7 +2198,7 @@ you must also specify the `--rpc-http-enabled` option. The available API options The [credentials file](../../HowTo/Interact/APIs/Authentication.md#credentials-file) for JSON-RPC API [authentication](../../HowTo/Interact/APIs/Authentication.md). -### rpc-http-authentication-enabled +### `rpc-http-authentication-enabled` === "Syntax" @@ -2227,7 +2227,7 @@ API [authentication](../../HowTo/Interact/APIs/Authentication.md). Enables [authentication](../../HowTo/Interact/APIs/Authentication.md) for the HTTP JSON-RPC service. -### rpc-http-authentication-jwt-public-key-file +### `rpc-http-authentication-jwt-public-key-file` === "Syntax" @@ -2255,7 +2255,7 @@ service. The [JWT provider's public key file] used for JSON-RPC HTTP authentication with an external JWT. -### rpc-http-cors-origins +### `rpc-http-cors-origins` === "Syntax" @@ -2313,7 +2313,7 @@ with your Besu node. For testing and development purposes, use `"all"` or `"*"` to accept requests from any domain. We don't recommend accepting requests from any domain for production environments. -### rpc-http-enabled +### `rpc-http-enabled` === "Syntax" @@ -2321,7 +2321,7 @@ with your Besu node. --rpc-http-enabled ``` -=== "Environement Variable" +=== "Environment Variable" ```bash BESU_RPC_HTTP_ENABLED=true @@ -2336,7 +2336,7 @@ with your Besu node. Enables the HTTP JSON-RPC service. The default is `false`. -### rpc-http-host +### `rpc-http-host` === "Syntax" @@ -2373,7 +2373,7 @@ To allow remote connections, set to `0.0.0.0` In a production environment, ensure you are using a firewall to avoid exposing your node to the internet. -### rpc-http-port +### `rpc-http-port` === "Syntax" @@ -2403,7 +2403,7 @@ To allow remote connections, set to `0.0.0.0` The HTTP JSON-RPC listening port (TCP). The default is 8545. You must [expose ports appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### rpc-http-tls-ca-clients-enabled +### `rpc-http-tls-ca-clients-enabled` === "Syntax" @@ -2430,7 +2430,7 @@ Enables clients with trusted CA certificates to connect. The default is `false`. You must enable client authentication using the [`---rpc-http-tls-client-auth-enabled`](#rpc-http-tls-client-auth-enabled) option. -### rpc-http-tls-client-auth-enabled +### `rpc-http-tls-client-auth-enabled` === "Syntax" @@ -2457,7 +2457,7 @@ Enables TLS client authentication for the JSON-RPC HTTP service. The default is You must specify [`--rpc-http-tls-ca-clients-enabled`](#rpc-http-tls-ca-clients-enabled) and/or [`rpc-http-tls-known-clients-file`](#rpc-http-tls-known-clients-file). -### rpc-http-tls-enabled +### `rpc-http-tls-enabled` === "Syntax" @@ -2483,7 +2483,7 @@ Enables TLS for the JSON-RPC HTTP service. The default is `false`. [`--rpc-http-enabled`](#rpc-http-enabled) must be enabled. -### rpc-http-tls-keystore-file +### `rpc-http-tls-keystore-file` === "Syntax" @@ -2512,7 +2512,7 @@ Enables TLS for the JSON-RPC HTTP service. The default is `false`. The Keystore file (in PKCS #12 format) that contains private key and the certificate presented to the client during authentication. -### rpc-http-tls-keystore-password-file +### `rpc-http-tls-keystore-password-file` === "Syntax" @@ -2540,7 +2540,7 @@ the client during authentication. The path to the file containing the password to decrypt the keystore. -### rpc-http-tls-known-clients-file +### `rpc-http-tls-known-clients-file` === "Syntax" @@ -2578,7 +2578,7 @@ Must contain the certificates's Common Name, and SHA-256 fingerprint in the form You must enable client authentication using the [`---rpc-http-tls-client-auth-enabled`](#rpc-http-tls-client-auth-enabled) option. -### rpc-tx-feecap +### `rpc-tx-feecap` === "Syntax" @@ -2609,7 +2609,7 @@ Sets the maximum transaction fee (in Wei) accepted for transactions submitted th If set to 0, then this option is ignored and no cap is applied. -### rpc-ws-api +### `rpc-ws-api` === "Syntax" @@ -2645,7 +2645,7 @@ you must also specify the `--rpc-ws-enabled` option. The available API options a The singular `--rpc-ws-api` and plural `--rpc-ws-apis` options are available and are two names for the same option. -### rpc-ws-authentication-credentials-file +### `rpc-ws-authentication-credentials-file` === "Syntax" @@ -2674,7 +2674,7 @@ you must also specify the `--rpc-ws-enabled` option. The available API options a The path to the [credentials file](../../HowTo/Interact/APIs/Authentication.md#credentials-file) for JSON-RPC API [authentication](../../HowTo/Interact/APIs/Authentication.md). -### rpc-ws-authentication-enabled +### `rpc-ws-authentication-enabled` === "Syntax" @@ -2709,7 +2709,7 @@ service. requires you to pass an authentication token in the request header. To use authentication with WebSockets, you need an app that supports headers. -### rpc-ws-authentication-jwt-public-key-file +### `rpc-ws-authentication-jwt-public-key-file` === "Syntax" @@ -2735,10 +2735,10 @@ service. rpc-http-authentication-jwt-public-key-file="publicKey.pem" ``` -The [JWT provider's public key file] used for JSON-RPC websocket authentication with an external +The [JWT provider's public key file] used for JSON-RPC Websocket authentication with an external JWT. -### rpc-ws-enabled +### `rpc-ws-enabled` === "Syntax" @@ -2760,7 +2760,7 @@ JWT. Enables the WebSockets JSON-RPC service. The default is `false`. -### rpc-ws-host +### `rpc-ws-host` === "Syntax" @@ -2791,7 +2791,7 @@ The host for Websocket WS-RPC to listen on. The default is 127.0.0.1. To allow remote connections, set to `0.0.0.0` -### rpc-ws-port +### `rpc-ws-port` === "Syntax" @@ -2821,7 +2821,7 @@ To allow remote connections, set to `0.0.0.0` The Websockets JSON-RPC listening port (TCP). The default is 8546. You must [expose ports appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). -### security-module +### `security-module` === "Syntax" @@ -2853,7 +2853,7 @@ plugin Defaults to using the nodes's local private key file specified using [`--node-private-key-file`](#node-private-key-file). -### sync-mode +### `sync-mode` === "Syntax" @@ -2909,7 +2909,7 @@ The synchronization mode. The options are `FAST` and `FULL`. [private transactions](../../Concepts/Privacy/Privacy-Overview.md) or on Digital Ocean Droplets is not supported. -### target-gas-limit +### `target-gas-limit` === "Syntax" @@ -2945,7 +2945,7 @@ within that constraint. If a value for `target-gas-limit` is not specified, the block gas limit remains at the value specified in the [genesis file](../Config-Items.md#genesis-block-parameters). -### tx-pool-max-size +### `tx-pool-max-size` === "Syntax" @@ -2973,7 +2973,7 @@ specified in the [genesis file](../Config-Items.md#genesis-block-parameters). The maximum number of transactions kept in the transaction pool. The default is 4096. -### tx-pool-hashes-max-size +### `tx-pool-hashes-max-size` === "Syntax" @@ -3001,7 +3001,7 @@ The maximum number of transactions kept in the transaction pool. The default is The maximum number of transaction hashes kept in the transaction pool. The default is 4096. -### tx-pool-price-bump +### `tx-pool-price-bump` === "Syntax" @@ -3029,7 +3029,7 @@ The maximum number of transaction hashes kept in the transaction pool. The defau The price bump percentage to replace an existing transaction. The default is 10. -### tx-pool-retention-hours +### `tx-pool-retention-hours` === "Syntax" @@ -3058,7 +3058,7 @@ The price bump percentage to replace an existing transaction. The default is 10. The maximum period, in hours, to hold pending transactions in the transaction pool. The default is 13. -### Xdns-enabled +### `Xdns-enabled` === "Syntax" @@ -3095,7 +3095,7 @@ Enables DNS support. The default is `false`. Use DNS with a trusted DNS provider in private networks because of limitations where IP addresses can change. For example, when using Kubernetes pods. -### Xdns-update-enabled +### `Xdns-update-enabled` === "Syntax" @@ -3130,7 +3130,7 @@ detected. The default is `false`. This is an early access feature. Some functionality may be updated before the feature is fully released. -### version +### `version` === "Syntax" diff --git a/docs/Reference/Config-Items.md b/docs/Reference/Config-Items.md index ac091fffb46..4a59304af78 100644 --- a/docs/Reference/Config-Items.md +++ b/docs/Reference/Config-Items.md @@ -41,7 +41,7 @@ consensus protocols. | `coinbase` | Address to pay mining rewards to. Can be any value in the genesis block (commonly set to `0x0000000000000000000000000000000000000000`). | | `gasLimit` | Block gas limit. Total gas limit for all transactions in a block. | | `nonce` | Used in block computation. Can be any value in the genesis block (commonly set to `0x0`). | -| `timestamp` | Creation date and time of the block. Must be before the next block so we recommend specifying `0x0` in the genesis file. | +| `timestamp` | Creation date and time of the block. Must be before the next block so we recommend specifying `0x0` in the genesis file. | | `alloc` | Defines [accounts with balances](Accounts-for-Testing.md) or [contracts](../HowTo/Configure/Contracts-in-Genesis.md). | ## Milestone blocks @@ -108,4 +108,6 @@ Use `fixeddifficulty` to specify a fixed difficulty in private networks using Et ``` !!! tip - Using `fixeddifficulty` is not recommended for use with Ethash outside of test environments. For production networks using Ethash, we recommend setting a low `difficulty` value in the genesis file instead. Ethash will adjust the difficulty of the network based on hashrate to produce blocks at the targetted frequency. + Using `fixeddifficulty` is not recommended for use with Ethash outside of test environments. + For production networks using Ethash, we recommend setting a low `difficulty` value in the genesis file instead. + Ethash will adjust the difficulty of the network based on hashrate to produce blocks at the targeted frequency. diff --git a/docs/Reference/Evm-Tool.md b/docs/Reference/Evm-Tool.md index 0cab5e07054..96e1cb74bdd 100644 --- a/docs/Reference/Evm-Tool.md +++ b/docs/Reference/Evm-Tool.md @@ -14,7 +14,7 @@ Options for running: The first mode of the EVM tool runs an arbitrary EVM and is invoked without an extra command. Command Line Options specify the code and other contextual information. -### code +### `code` === "Syntax" @@ -28,10 +28,11 @@ Options specify the code and other contextual information. --code=5B600080808060045AFA50600056 ``` -The code to be executed, in compiled hex code form. There is no default value and execution fails if -this is not set. +The code to be executed, in compiled hex code form. -### gas +No default value: execution fails if this is not set. + +### `gas` === "Syntax" @@ -48,7 +49,7 @@ this is not set. Amount of gas to make available to the EVM. The default value is 10 Billion, an incredibly large number unlikely to be seen in any production blockchain. -### price +### `price` === "Syntax" @@ -62,10 +63,11 @@ unlikely to be seen in any production blockchain. --price=10 ``` -Price of gas in GWei. The default is zero. If set to a non-zero value, the sender account must have -enough value to cover the gas fees. +Price of gas in GWei. +The default is zero. +If set to a non-zero value, the sender account must have enough value to cover the gas fees. -### sender +### `sender` === "Syntax" @@ -79,10 +81,11 @@ enough value to cover the gas fees. --sender=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 ``` -The account the invocation is sent from. The specified account must exist in the world state, which -unless specified by `--genesis` or `--prestate` is the set of [accounts used for testing](Accounts-for-Testing.md). +The account the invocation is sent from. +The specified account must exist in the world state, which unless specified by `--genesis` +or `--prestate` is the set of [accounts used for testing](Accounts-for-Testing.md). -### receiver +### `receiver` === "Syntax" @@ -96,9 +99,10 @@ unless specified by `--genesis` or `--prestate` is the set of [accounts used for --receiver=0x588108d3eab34e94484d7cda5a1d31804ca96fe7 ``` -The account the invocation is sent to. The specified account does not need to exist. +The account the invocation is sent to. +The specified account does not need to exist. -### input +### `input` === "Syntax" @@ -112,10 +116,10 @@ The account the invocation is sent to. The specified account does not need to e --input=9064129300000000000000000000000000000000000000000000000000000000 ``` -The data passed into the call. Corresponds to the `data` field of the transaction and is returned by -the `CALLDATA` and related opcodes. +The data passed into the call. +Corresponds to the `data` field of the transaction and is returned by the `CALLDATA` and related opcodes. -### value +### `value` === "Syntax" @@ -129,11 +133,11 @@ the `CALLDATA` and related opcodes. --value=1000000000000000000 ``` -The value of Ether attached to this transaction. For operations that query the value or transfer it -to other accounts this is the amount that is available. The amount is not reduced to cover intrinsic -cost and gas fees. +The value of Ether attached to this transaction. +For operations that query the value or transfer it to other accounts this is the amount that is available. +The amount is not reduced to cover intrinsic cost and gas fees. -### json +### `json` === "Syntax" @@ -147,9 +151,9 @@ cost and gas fees. --json=true ``` -Provide an operation-by-operation trace of the command in json when set to true. +Provide an operation-by-operation trace of the command in JSON when set to true. -### nomemory +### `nomemory` === "Syntax" @@ -163,10 +167,10 @@ Provide an operation-by-operation trace of the command in json when set to true. --nomemory=true ``` -By default, when tracing operations the memory is traced for each operation. For memory heavy scripts, -setting this option may reduce the volume of json output. +By default, when tracing operations the memory is traced for each operation. +For memory heavy scripts, setting this option may reduce the volume of JSON output. -### genesis +### `genesis` === "Syntax" @@ -180,12 +184,13 @@ setting this option may reduce the volume of json output. --genesis=/opt/besu/genesis.json ``` -The Besu Genesis file to use when evaluating the EVM. Most useful are the `alloc` items that set up -accounts and their stored memory states. For a complete description of this file see [Genesis File Items](Config-Items.md). +The Besu Genesis file to use when evaluating the EVM. +Most useful are the `alloc` items that set up accounts and their stored memory states. +For a complete description of this file see [Genesis File Items](Config-Items.md). `--prestate` is a deprecated alternative option name. -### chain +### `chain` === "Syntax" @@ -199,10 +204,10 @@ accounts and their stored memory states. For a complete description of this fil --chain=goerli ``` -The well-known network genesis file to use when evaluating the EVM. These values are an alternative -to the `--genesis` option for well known networks. +The well-known network genesis file to use when evaluating the EVM. +These values are an alternative to the `--genesis` option for well known networks. -### repeat +### `repeat` === "Syntax" @@ -216,10 +221,10 @@ to the `--genesis` option for well known networks. --repeat=1000 ``` -Number of times to repeat the contract before gathering timing information. This is useful when benchmarking -EVM operations. +Number of times to repeat the contract before gathering timing information. +This is useful when benchmarking EVM operations. -### revert-reason-enabled +### `revert-reason-enabled` === "Syntax" @@ -233,9 +238,9 @@ EVM operations. --revert-reason-enabled=true ``` -If enabled, the json tracing includes the reason included in `REVERT` operations. +If enabled, the JSON tracing includes the reason included in `REVERT` operations. -### key-value-storage +### `key-value-storage` === "Syntax" @@ -253,11 +258,12 @@ Kind of key value storage to use. Occasionally it may be useful to execute isolated EVM calls in context of an actual world state. The default is `memory`, which executes the call only in context of the world provided by `--genesis` -or `--network` at block zero. When set to `rocksdb` and combined with `--data-path`, `--block-number`, -and `--genesis` a Besu node that is not currently running can be used to provide the appropriate world state -for a transaction. Useful when evaluating consensus failures. +or `--network` at block zero. +When set to `rocksdb` and combined with `--data-path`, `--block-number`, and `--genesis` a Besu +node that is not currently running can be used to provide the appropriate world state for a transaction. +Useful when evaluating consensus failures. -### data-path +### `data-path` === "Syntax" @@ -273,7 +279,7 @@ for a transaction. Useful when evaluating consensus failures. When using `rocksdb` for `key-value-storage`, specifies the location of the database on disk. -### block-number +### `block-number` === "Syntax" @@ -287,17 +293,18 @@ When using `rocksdb` for `key-value-storage`, specifies the location of the data --block-number=10000000 ``` -The block number to evaluate the code against. Used to ensure that the EVM is evaluating the -code against the correct fork, or to specify the specific world state when running with `rocksdb` for `key-value-storage`. +The block number to evaluate the code against. +Used to ensure that the EVM is evaluating the code against the correct fork, or to specify the +specific world state when running with `rocksdb` for `key-value-storage`. ## State Test Options -The `state-test` sub command allows the Ethereum State Tests to be evaluated. Most of the options -from EVM execution do not apply. +The `state-test` sub command allows the Ethereum State Tests to be evaluated. +Most of the options from EVM execution do not apply. ### Applicable Options -#### json +#### `json` === "Syntax" @@ -311,14 +318,15 @@ from EVM execution do not apply. --json=true ``` -Provide an operation by operation trace of the command in json when set to true. Set to true for EVMLab -Fuzzing. Whether or not `json` is set, a summary JSON object is printed to standard output for each +Provide an operation by operation trace of the command in JSON when set to true. +Set to true for EVMLab Fuzzing. +Whether or not `json` is set, a summary JSON object is printed to standard output for each state test executed. ### Using command arguments -If you use command arguments, you can list one or more state tests. All of the state tests are evaluated -in the order they are specified. +If you use command arguments, you can list one or more state tests. +All of the state tests are evaluated in the order they are specified. === "Docker Example" @@ -334,7 +342,7 @@ in the order they are specified. ### Using Standard Input -If no reference tests are passed in using the command line, the EVM Tool loads one complete json object +If no reference tests are passed in using the command line, the EVM Tool loads one complete JSON object from standard input and executes that state test. === "Docker Example" diff --git a/docs/Reference/Responsible-Disclosure.md b/docs/Reference/Responsible-Disclosure.md index 6e946742643..ffae016a854 100644 --- a/docs/Reference/Responsible-Disclosure.md +++ b/docs/Reference/Responsible-Disclosure.md @@ -5,8 +5,8 @@ description: Hyperledger Besu responsible disclosure statement # Responsible disclosure policy At Hyperledger Besu, security is a priority. But regardless of how much effort we put into system -security, there might still be vulnerabilities present. If you discover a vulnerability, we want to -know about it so we can take steps to address it as quickly as possible. We would like to ask you +security, there might still be vulnerabilities present. If you discover a vulnerability, we need to +know about it so we can take steps to address it as quickly as possible. We would like you to help us better protect our clients and our systems. Please follow the process explained on diff --git a/docs/Tutorials/Examples/Nat-Manager-Kubernetes.md b/docs/Tutorials/Examples/Nat-Manager-Kubernetes.md index 5a0e81ba167..7b362ebf313 100644 --- a/docs/Tutorials/Examples/Nat-Manager-Kubernetes.md +++ b/docs/Tutorials/Examples/Nat-Manager-Kubernetes.md @@ -95,7 +95,7 @@ Run the `kubectl describe services besu` command again until the load balancer I ### 3 - Deploy Besu -When steps 1 and 2 are completed, deploy Besu using the following yaml example: +When steps 1 and 2 are completed, deploy Besu using the following YAML example: !!!example @@ -166,9 +166,9 @@ Possible errors messages for Kubernetes automatic detection failure: - **Error message:** `Nat manager failed to configure itself automatically due to the following reason Service not found. NONE mode will be used` - **Cause:** load balancer did start correctly or has the incorrect name. -- **Fix:** check and modify load balancer yaml configuration and restart service. +- **Fix:** check and modify load balancer YAML configuration and restart service. -!!!exemple "Example error log" +!!!example "Example error log" ``` INFO | KubernetesNatManager | Starting kubernetes NAT manager. @@ -186,7 +186,7 @@ Possible errors messages for Kubernetes automatic detection failure: If you can't manage permissions, define the IP address and ports manually with [`NONE`](../../HowTo/Find-and-Connect/Specifying-NAT.md#none) mode -!!!exemple "Example error log" +!!!example "Example error log" ``` INFO | KubernetesNatManager | Starting kubernetes NAT manager. @@ -196,7 +196,7 @@ Possible errors messages for Kubernetes automatic detection failure: ``` !!!tip - For dev environment, the permission issue can be fixed by running `kubectl create clusterrolebinding myapp-view-binding --clusterrole=admin --serviceaccount=default:default` + For development environment, the permission issue can be fixed by running `kubectl create clusterrolebinding myapp-view-binding --clusterrole=admin --serviceaccount=default:default` This command should only be used on developement environment and not in production environment. @@ -209,7 +209,7 @@ Possible errors messages for Kubernetes automatic detection failure: - **Cause:** Load balancer did not finish to recover an IP address. - **Fix:** [Check that the load balancer is properly deployed](#check-that-the-load-balancer-is-properly-deployed) before launching Besu. -!!!exemple "Example error log" +!!!example "Example error log" ``` INFO | KubernetesNatManager | Starting kubernetes NAT manager. diff --git a/docs/Tutorials/Examples/Privacy-Example.md b/docs/Tutorials/Examples/Privacy-Example.md index f15943e962d..6861b79f1b6 100644 --- a/docs/Tutorials/Examples/Privacy-Example.md +++ b/docs/Tutorials/Examples/Privacy-Example.md @@ -10,7 +10,7 @@ nodes managed by Docker Compose. It's an expanded version of the You can use the [Block Explorer](Private-Network-Example.md#block-explorer), make [JSON-RPC requests](Private-Network-Example.md#run-json-rpc-requests), and -[create transactions using Metamask] as described in the +[create transactions using MetaMask] as described in the [Quorum Developer Quickstart tutorial](Private-Network-Example.md). This tutorial describes how to use the examples provided in the web3js-eea library to [create and send private transactions](#send-private-transactions-and-read-values). @@ -196,4 +196,4 @@ Do one of the following to stop the network: ``` -[create transactions using Metamask]: Private-Network-Example.md#create-a-transaction-using-metamask +[create transactions using MetaMask]: Private-Network-Example.md#create-a-transaction-using-metamask diff --git a/docs/Tutorials/Examples/Private-Network-Example-Azure.md b/docs/Tutorials/Examples/Private-Network-Example-Azure.md index a6d5de0f4e9..b09350f0b73 100644 --- a/docs/Tutorials/Examples/Private-Network-Example-Azure.md +++ b/docs/Tutorials/Examples/Private-Network-Example-Azure.md @@ -56,21 +56,21 @@ To deploy the private network example on Azure: ![Image dep](../../images/mp_4_deployment.png) - The deployment is started and typically takes around 3-5 minutes. The the progress of your + The deployment is started and typically takes around 3--5 minutes. The the progress of your deployment is displayed. When the deployment is complete, the resources created are displayed. ![Image dep_complete](../../images/mp_5_deployment_complete.png) -1. Click on the _Go to Resouce_ button. Everything created in the deployment is displayed. +1. Click on the _Go to Resource_ button. Everything created in the deployment is displayed. ![Image res](../../images/mp_6_resource.png) 1. Click on the VM name. The VM details such as the IP and DNS name are displayed. Use the IP and DNS name displayed to connect to the VM, either in browser or via RPC calls. - ![Image vm](../../images/mp_7_vm.png) + ![Image VM](../../images/mp_7_vm.png) ## Block Explorer @@ -83,12 +83,12 @@ To display the block explorer, open a new tab and enter either the IP of the VM, The deployment includes Prometheus metrics and Grafana with a custom _Besu Dashboard_ installed. To display the dashboard: -1. Open a new tab and enter the IP or DNS name appended with _/grafana_. +1. Open a new tab and enter the IP or DNS name appended with `/grafana`. For example: `http:///grafana`. 1. Click on home and select the Besu dashboard. - ![Image grafana](../../images/mp_9_grafana.png) + ![Grafana screenshot](../../images/mp_9_grafana.png) The dashboard provides a visual way to monitor your network and nodes as the chain progresses. Alerting can also be configured. @@ -96,7 +96,7 @@ Alerting can also be configured. ## Connecting to VM RPC Endpoint You can connect DApps or develop directly from the IDE using the VS Code and connect to the VM RPC -endpoint. The endpoint is the DNS name appended with _/jsonrpc_: `http:///jsonrpc` +endpoint. The endpoint is the DNS name appended with `/jsonrpc`: `http:///jsonrpc` ## SSH diff --git a/docs/Tutorials/Examples/Private-Network-Example.md b/docs/Tutorials/Examples/Private-Network-Example.md index 4a0553e4e24..783ac6b2da6 100644 --- a/docs/Tutorials/Examples/Private-Network-Example.md +++ b/docs/Tutorials/Examples/Private-Network-Example.md @@ -27,7 +27,7 @@ nodes managed by Docker Compose. * [Git command line](https://git-scm.com/) * [Curl command line](https://curl.haxx.se/download.html) -* A web browser that supports [Metamask](https://metamask.io/) (currently Chrome, Firefox, Opera, +* A Web browser that supports [MetaMask](https://metamask.io/) (currently Chrome, Firefox, Opera, and Brave), and has the MetaMask plug-in installed. This tutorial uses screenshots from Brave. ## Create Docker-compose file @@ -63,7 +63,7 @@ When the process ends, it lists the running services: ```log ************************************* - Quorum Dev Quickstart + Quorum Dev Quickstart ************************************* Setting up the index patterns in kibana............ {"type":"index-pattern","id":"metricbeat","attributes":{"title":"metricbeat-*","timeFieldName":"@timestamp"}, @@ -79,7 +79,7 @@ When the process ends, it lists the running services: "tessera","attributes":{"title":"tessera-*","timeFieldName":"@timestamp"},"references":[],"migrationVersion": {"index-pattern":"7.6.0"},"updated_at":"2020-11-04T10:43:40.053Z","version":"WzE5LDFd","namespaces": ["default"]} - + List endpoints and services ---------------------------------- JSON-RPC HTTP service endpoint : http://localhost:8545 @@ -88,17 +88,17 @@ When the process ends, it lists the running services: Prometheus address : http://localhost:9090/graph Grafana address : http://localhost:3000/d/XE4V0WGZz/besu-overview?orgId=1&refresh=10s&from=now-30m&to=now&var-system=All Kibana logs address : http://localhost:5601/app/kibana#/discover - + For more information on the endpoints and services, refer to README.md in the installation directory. **************************************************************** ``` * Use the **JSON-RPC HTTP service endpoint** to access the RPC node service from your Dapp or from - cryptocurrency wallets such as Metamask. -* Use the **JSON-RPC WebSocket service endpoint** to access the web socket node service from your + cryptocurrency wallets such as MetaMask. +* Use the **JSON-RPC WebSocket service endpoint** to access the Web socket node service from your Dapp. -* Use the **Web block explorer address** to display the block explorer web application. View the - block explorer by entering the URL in your web browser. +* Use the **Web block explorer address** to display the block explorer Web application. View the + block explorer by entering the URL in your Web browser. * Use the **Prometheus address** to access the [Prometheus dashboard](../../HowTo/Monitor/Metrics.md). * Use the **Grafana address** to access the @@ -143,9 +143,9 @@ node health and usage. You can directly access these tools from your browser at displayed in the endpoint list. For more details on how to configure and use these tools for your own nodes, see our -[performances monitoring documentation](../../HowTo/Monitor/Metrics.md), as well as -[Prometheus documentation](https://prometheus.io/docs/introduction/overview/) and -[Grafana documentation](https://grafana.com/docs/). +[performances monitoring documentation](../../HowTo/Monitor/Metrics.md), +the [Prometheus documentation](https://prometheus.io/docs/introduction/overview/) +and [Grafana documentation](https://grafana.com/docs/). ![Grafana](../../images/grafana.png) @@ -278,8 +278,10 @@ modifications, so we use the private network in this tutorial as the blockchain ### Prerequisites + * [Node.js v6+ LTS and npm](https://nodejs.org/en/) (comes with Node) -* Import an account into Metamask using the private key + +* Import an account into MetaMask using the private key `0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3`. The following steps use this account. @@ -296,7 +298,7 @@ npm install -g truffle `npm` requires `sudo` on Linux. The source code for the smart contract and DApp are in the `pet-shop` folder. With the blockchain -running and Metamask connected to it via the browser, run the command below to start the DApp. +running and MetaMask connected to it via the browser, run the command below to start the DApp. The script first compiles the contract, then performs a migration to the blockchain network and then runs some tests. You can then search for the deployed contracts and transactions in the Web @@ -386,23 +388,23 @@ Block Explorer using the addresses displayed in your output earlier `http://loca 3 passing (37s) ``` -After these tests are successful, it builds a container for the Pet Shop DApp and deployes it, +After these tests are successful, it builds a container for the Pet Shop DApp and deploys it, binding it to port 3001 on your system. -In the browser that you have metamask enabled and the account loaded, open a new tab and navigate -to `http://localhost:3001` which should have the Pet Shop running, and you can adopt pets from the -app. When you click on 'Adopt', a Metamask window should pop up and ask for permissions to continue +In the browser that you have MetaMask enabled and the account loaded, open a new tab and navigate +to [`http://localhost:3001`](http://localhost:3001) which should have the Pet Shop running, and you can adopt pets from the +app. When you click on 'Adopt', a MetaMask window should pop up and request your permissions to continue with the transaction. After the transaction is complete and successful, the status of the pet you adopted will show 'Success'. ![Dapp UI](../../images/dapp-ui.png) You can also search for the transaction and view its details in the Block Explorer UI at -http://localhost:25000/. +[`http://localhost:25000/`](http://localhost:25000/). ![Dapp UI](../../images/dapp-explorer-tx.png) -The Metmask UI also keeps a record of the transaction. +The MetMask UI also keeps a record of the transaction. ![Dapp UI](../../images/dapp-metamask-tx.png) diff --git a/docs/Tutorials/Permissioning/Create-Permissioned-Network.md b/docs/Tutorials/Permissioning/Create-Permissioned-Network.md index 032b73ce92b..4eebd66d16d 100644 --- a/docs/Tutorials/Permissioning/Create-Permissioned-Network.md +++ b/docs/Tutorials/Permissioning/Create-Permissioned-Network.md @@ -16,11 +16,11 @@ uses the [Clique Proof of Authority consensus protocol]. [Hyperledger Besu](../../HowTo/Get-Started/Installation-Options/Install-Binaries.md) -[Curl (or similar web service client)](https://curl.haxx.se/download.html) +[Curl (or similar webservice client)](https://curl.haxx.se/download.html) ## Steps -Listed on the right-hand side of the page are the steps to create a permissoned network. +Listed on the right-hand side of the page are the steps to create a permissioned network. ### 1. Create folders diff --git a/docs/Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md b/docs/Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md index c17d95947c5..69581b8fb43 100644 --- a/docs/Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md +++ b/docs/Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md @@ -20,14 +20,16 @@ To start a network with onchain permissioning: 1. [Clone the permissioning contracts repository and install dependencies] 1. [Build the project](#build-the-project) 1. [Deploy the permissioning contracts](#deploy-the-contracts) -1. [Start the webserver for the Permissioning Management Dapp] +1. [Start the Web server for the Permissioning Management Dapp] 1. [Add the first node to the nodes allowlist](#add-the-first-node-to-the-allowlist). ## Prerequisites For the development server to run the dapp: -* [NodeJS](https://nodejs.org/en/) v10.16.0 or later + +* [Node.js](https://nodejs.org/en/) v10.16.0 or later + * [Yarn](https://yarnpkg.com/en/) v1.15 or later * Browser with [MetaMask installed](https://metamask.io/). @@ -104,7 +106,7 @@ Create the following environment variables and set to the specified values: If your network is not a [free gas network](../../HowTo/Configure/FreeGas.md), the account used to interact with the permissioning contracts must have a balance. -To enable account and/or node permissioning, all nodes participating in a permissioned network must +To enable account and node permissioning, all nodes participating in a permissioned network must include the command line options: * [`--permissions-accounts-contract-enabled`](../../Reference/CLI/CLI-Syntax.md#permissions-accounts-contract-enabled) @@ -163,11 +165,11 @@ The migration logs the addresses of the Admin and Rules contracts. The account that deploys the contracts is automatically an [admin account]. -## Start the webserver for the Permissioning Management Dapp +## Start the Web server for the Permissioning Management Dapp !!! note - Production environments require a webserver to + Production environments require a Web server to [host the Permissioning Management Dapp](../../HowTo/Deploy/Production.md). 1. In the `permissioning-smart-contracts` directory, start the webserver serving the Dapp: @@ -176,9 +178,9 @@ The migration logs the addresses of the Admin and Rules contracts. yarn start ``` - The Dapp displays at [http://localhost:3000](http://localhost:3000). + The Dapp displays at [`http://localhost:3000`](http://localhost:3000). -1. Ensure MetaMask connects to your local node (by default `http://localhost:8545`). +1. Ensure MetaMask connects to your local node (by default [`http://localhost:8545`](http://localhost:8545)). A MetaMask notification displays requesting permission for Besu Permissioning to connect to your account. diff --git a/docs/Tutorials/Privacy/Configuring-Privacy.md b/docs/Tutorials/Privacy/Configuring-Privacy.md index 41ef7975b59..f9be5a03668 100644 --- a/docs/Tutorials/Privacy/Configuring-Privacy.md +++ b/docs/Tutorials/Privacy/Configuring-Privacy.md @@ -50,7 +50,7 @@ each Orion key pair. ## 3. Generate Orion keys -In each `Orion` directory, generate a public/private keypair for the Orion node: +In each `Orion` directory, generate a public/private key pair for the Orion node: ``` bash orion -g nodeKey @@ -187,8 +187,7 @@ Node-1 as the bootnode: ``` The command line specifies the same options as for Node-1 with different ports and Orion node URL. -The [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option specifies the enode URL for -Node-1. +The [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option specifies the enode URL of Node-1. !!!note @@ -213,5 +212,4 @@ Node-1 as the bootnode: ``` The command line specifies the same options as for Node-1 with different ports and Orion node URL. -The [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option specifies the enode URL for -Node-1. +The [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option specifies the enode URL of Node-1. diff --git a/docs/Tutorials/Privacy/web3js-eea-Multinode-example.md b/docs/Tutorials/Privacy/web3js-eea-Multinode-example.md index f5e242d4209..146e6e8882f 100644 --- a/docs/Tutorials/Privacy/web3js-eea-Multinode-example.md +++ b/docs/Tutorials/Privacy/web3js-eea-Multinode-example.md @@ -1,8 +1,8 @@ --- -description: web3js-eea client library multinode example +description: web3js-eea client library multi-node example --- -# Use the multinode example in the web3js-eea client library +# Use the multi-node example in the web3js-eea client library To use the examples provided in the web3js-eea library with [your privacy network](Configuring-Privacy.md): diff --git a/docs/Tutorials/Private-Network/Create-IBFT-Network.md b/docs/Tutorials/Private-Network/Create-IBFT-Network.md index f43bdfb136a..b9c6b8aefa9 100644 --- a/docs/Tutorials/Private-Network/Create-IBFT-Network.md +++ b/docs/Tutorials/Private-Network/Create-IBFT-Network.md @@ -18,7 +18,7 @@ A private network provides a configurable network for testing. This private netw ## Prerequisites * [Hyperledger Besu](../../HowTo/Get-Started/Installation-Options/Install-Binaries.md) -* [Curl (or similar web service client)](https://curl.haxx.se/download.html). +* [Curl (or similar webservice client)](https://curl.haxx.se/download.html). ## Steps @@ -50,7 +50,7 @@ The configuration file defines the [IBFT 2.0 genesis file](../../HowTo/Configure/Consensus-Protocols/IBFT.md#genesis-file) and the number of node key pairs to generate. -The configuration file has two subnested JSON nodes. The first is the `genesis` property defining +The configuration file has two nested JSON nodes. The first is the `genesis` property defining the IBFT 2.0 genesis file, except for the `extraData` string, which Besu generates automatically in the resulting genesis file. The second is the `blockchain` property defining the number of key pairs to generate. @@ -231,7 +231,7 @@ The command line specifies: [`--p2p-port`](../../Reference/CLI/CLI-Syntax.md#p2p-port) option. * A different port to Node-1 for HTTP JSON-RPC using the [`--rpc-http-port`](../../Reference/CLI/CLI-Syntax.md#rpc-http-port) option. -* The enode URL for Node-1 using the +* The enode URL of Node-1 using the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option. * Other options as for [Node-1](#5-start-first-node-as-bootnode). diff --git a/docs/Tutorials/Private-Network/Create-Private-Clique-Network.md b/docs/Tutorials/Private-Network/Create-Private-Clique-Network.md index 7d37d127606..4816103d2da 100644 --- a/docs/Tutorials/Private-Network/Create-Private-Clique-Network.md +++ b/docs/Tutorials/Private-Network/Create-Private-Clique-Network.md @@ -15,7 +15,7 @@ A private network provides a configurable network for testing. This private netw ## Prerequisites * [Hyperledger Besu](../../HowTo/Get-Started/Installation-Options/Install-Binaries.md) -* [Curl (or similar web service client)](https://curl.haxx.se/download.html). +* [Curl (or similar webservice client)](https://curl.haxx.se/download.html). ## Steps @@ -187,7 +187,7 @@ The command line specifies: [`--p2p-port`](../../Reference/CLI/CLI-Syntax.md#p2p-port) option. * A Different port to Node-1 for HTTP JSON-RPC using the [`--rpc-http-port`](../../Reference/CLI/CLI-Syntax.md#rpc-http-port) option. -* The enode URL for Node-1 using the +* The enode URL of Node-1 using the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option. * The data directory for Node-2 using the [`--data-path`](../../Reference/CLI/CLI-Syntax.md#data-path) option. diff --git a/docs/Tutorials/Private-Network/Create-Private-Network.md b/docs/Tutorials/Private-Network/Create-Private-Network.md index dafc659cab9..470fb7dde9f 100644 --- a/docs/Tutorials/Private-Network/Create-Private-Network.md +++ b/docs/Tutorials/Private-Network/Create-Private-Network.md @@ -18,7 +18,7 @@ public testnets. ## Prerequisites * [Hyperledger Besu](../../HowTo/Get-Started/Installation-Options/Install-Binaries.md) -* [Curl (or similar web service client)](https://curl.haxx.se/download.html). +* [Curl (or similar webservice client)](https://curl.haxx.se/download.html). ## Steps @@ -145,7 +145,7 @@ The command line specifies: * A different port to Node-1 for P2P discovery using the [`--p2p-port`](../../Reference/CLI/CLI-Syntax.md#p2p-port) option. -* The enode URL for Node-1 using the +* The enode URL of Node-1 using the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option. * A data directory for Node-2 using the [`--data-path`](../../Reference/CLI/CLI-Syntax.md#data-path) option. diff --git a/docs/index.md b/docs/index.md index 887f4b0fffc..85aaaba286b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -40,7 +40,7 @@ to rapidly generate local blockchain networks. The Besu client supports common smart contract and Dapp development, deployment, and operational use cases, using tools such as [Truffle](http://truffleframework.com/), [Remix](https://github.com/ethereum/remix), and [web3j](https://web3j.io/). The client supports -common JSON-RPC API methods such as eth, net, web3, debug, and miner. +common JSON-RPC API methods such as `eth`, `net`, `web3`, `debug`, and `miner`. Besu doesn't support [key management](HowTo/Send-Transactions/Account-Management.md) inside the client. You can use [EthSigner](http://docs.ethsigner.pegasys.tech/en/latest/) with Besu to access