:money_with_wings: CLI app for interacting with paymail service providers

Overview

Paymail Inspector

CLI application for interacting with paymail service providers

Release Downloads Build Status Report Go Sponsor Donate


Paymail Commands


Table of Contents


Installation

Install with brew

brew tap mrz1836/paymail-inspector && brew install paymail-inspector
paymail

Install using a compiled binary on Linux, Mac or Windows (Mac example)

curl -LkSs https://github.com/mrz1836/paymail-inspector/releases/download/v0.3.7/paymail-inspector_macOS_64-bit.tar.gz -o app.tar.gz
tar -zxf app.tar.gz && cd ./app/
./paymail

Install with go

go get github.com/mrz1836/paymail-inspector
cd /$GOPATH/src/github.com/mrz1836/paymail-inspector && make install
paymail

Commands

brfc

List all known brfc specifications (view example)

paymail brfc list

Generate a new BRFC ID for a new specification (view example)

paymail brfc generate --title "BRFC Specifications" --author "andy (nChain)" --version 1

Search all brfc specifications (id, title, author) (view example)

paymail brfc search nChain



capabilities

Lists the available capabilities of the paymail service (view example)

paymail capabilities moneybutton.com



p2p

Starts a P2P payment request and returns (n) outputs of (script,satoshis,address) (view example)

paymail p2p [email protected]



resolve

Returns the pubkey, output script, address and profile for a given paymail address (view example)

paymail resolve [email protected]



validate

Runs several validations on the paymail service for DNSSEC, SSL, SRV and required capabilities (view example)

paymail validate moneybutton.com



verify

Verifies if a paymail is associated to a pubkey (view example)

paymail verify [email protected] 02ead23149a1e33df17325ec7a7ba9e0b20c674c57c630f527d69b866aa9b65b10



whois

Searches all public paymail providers for a given handle (view example)

paymail whois mrz

Documentation

Get started with the examples. View the generated golang godocs.

All the generated command documentation can be found in docs/commands.

This application was built using the official paymail specifications.

Additional paymail information can also be found via MoneyButton's documentation.

Implemented BRFCs

Public Paymail Providers
Integrated Services
Handle Providers
Custom Configuration

The configuration file should be located in your $HOME/paymail folder and named config.yaml.

View the example config file.

You can also specify a custom configuration file using --config "/folder/path/file.yaml"

Local Database (Cache)

The database is located in your $HOME/paymail folder.

To clear the entire database:

paymail --flush-cache

Run commands ignoring local cache:

paymail whois mrz --no-cache
Package Dependencies
  • badger for persistent database storage
  • bsvd and bsvutil for BSV script functionality
  • chalk for colorful logs
  • cobra and viper for an easy configuration & CLI application development
  • columnize for displaying terminal data in columns
  • dns package for advanced DNS functionality
  • go-homedir to find the home directory
  • go-paymail for Paymail library support
  • go-sanitize for sanitation and data formatting
  • go-validate for domain/email/ip validations
  • resty for custom HTTP client support
Application Deployment

goreleaser for easy binary deployment to Github and can be installed via: brew install goreleaser.

The .goreleaser.yml file is used to configure goreleaser.

Use make release-snap to create a snapshot version of the release, and finally make release to ship to production.

The release can also be deployed to a homebrew repository: homebrew-paymail-inspector.

Makefile Commands

View all makefile commands

make help

List of all current commands:

all                      Runs multiple commands
build                    Build all binaries (darwin, linux, windows)
clean                    Remove previous builds and any test cache data
clean-mods               Remove all the Go mod cache
coverage                 Shows the test coverage
darwin                   Build for Darwin (macOS amd64)
gen-docs                 Generate documentation from all available commands (fresh install)
gif-render               Render gifs in .github dir (find/replace text etc)
godocs                   Sync the latest tag with GoDocs
help                     Show this help message
install                  Install the application
install-go               Install the application (Using Native Go)
lint                     Run the golangci-lint application (install if not found)
linux                    Build for Linux (amd64)
release                  Full production release (creates release in Github)
release                  Runs common.release then runs godocs
release-snap             Test the full release (build binaries)
release-test             Full production test release (everything except deploy)
replace-version          Replaces the version in HTML/JS (pre-deploy)
tag                      Generate a new tag and push (tag version=0.0.0)
tag-remove               Remove a tag if found (tag-remove version=0.0.0)
tag-update               Update an existing tag to current commit (tag-update version=0.0.0)
test                     Runs vet, lint and ALL tests
test-ci                  Runs all tests via CI (exports coverage)
test-ci-no-race          Runs all tests via CI (no race) (exports coverage)
test-ci-short            Runs unit tests via CI (exports coverage)
test-short               Runs vet, lint and tests (excludes integration tests)
uninstall                Uninstall the application (and remove files)
update-linter            Update the golangci-lint package (macOS only)
update-terminalizer      Update the terminalizer application
vet                      Run the Go vet application
windows                  Build for Windows (amd64)

Examples & Tests

All unit tests and examples run via Github Actions and uses Go version 1.15.x. View the configuration file.

Run all tests (including integration tests)

make test

Code Standards

Read more about this Go project's code standards.


Usage

View all the examples and see the commands above

All the generated command documentation can be found in docs/commands.


Maintainers

MrZ Satchmo
MrZ Satchmo

Contributing

View the contributing guidelines and please follow the code of conduct.

How can I help?

All kinds of contributions are welcome ūüôĆ ! The most basic way to show your support is to star ūüĆü the project, or to raise issues ūüí¨ . You can also support this project by becoming a sponsor on GitHub ūüĎŹ or by making a bitcoin donation to ensure this journey continues indefinitely! ūüöÄ

Help by sharing: Twetch Twitter

Credits

Inspiration and code snippets from dnssec and check-ssl

Utilized terminalizer to record example gifs


License

License

Issues
  • P2P Receive Txs

    P2P Receive Txs

    Is your feature request related to a problem? Please describe. paymail-inspector doesn't seem to support the P2P Transactions capability yet.

    Describe the solution you'd like Implementation of P2P txs capability.

    Describe alternatives you've considered I would be happy to implement it and submit a PR if you're open to that.

    Additional context Great work on the repo, it's looking very good!

    feature idea 
    opened by jadwahab 2
  • Bump goreleaser/goreleaser-action from 2.9.1 to 3.0.0

    Bump goreleaser/goreleaser-action from 2.9.1 to 3.0.0

    Bumps goreleaser/goreleaser-action from 2.9.1 to 3.0.0.

    Release notes

    Sourced from goreleaser/goreleaser-action's releases.

    v3.0.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v2.9.1...v3.0.0

    Commits
    • 68acf3b chore(deps): bump @‚Äčactions/tool-cache from 1.7.2 to 2.0.1 (#355)
    • 46da113 chore: node 16 as default runtime (#343)
    • 223909a chore: update
    • c56d8df Revert "chore(deps): bump @‚Äčactions/core from 1.6.0 to 1.8.2 (#354)"
    • d1c2f83 chore(deps): bump @‚Äčactions/core from 1.6.0 to 1.8.2 (#354)
    • 5c65fd8 chore(deps): bump @‚Äčactions/http-client from 1.0.11 to 2.0.1 (#353)
    • 46cd12b chore(deps): bump yargs from 17.4.1 to 17.5.1 (#352)
    • 822d1bf chore(deps): bump docker/bake-action from 1 to 2 (#346)
    • c25888f chore: update dev dependencies and workflow (#342)
    • ec57748 chore(deps): bump yargs from 17.4.0 to 17.4.1 (#339)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Bump github/codeql-action from 1 to 2

    Bump github/codeql-action from 1 to 2

    Bumps github/codeql-action from 1 to 2.

    Changelog

    Sourced from github/codeql-action's changelog.

    2.1.8 - 08 Apr 2022

    • Update default CodeQL bundle version to 2.8.5. #1014
    • Fix error where the init action would fail due to a GitHub API request that was taking too long to complete #1025

    2.1.7 - 05 Apr 2022

    • A bug where additional queries specified in the workflow file would sometimes not be respected has been fixed. #1018

    2.1.6 - 30 Mar 2022

    • [v2+ only] The CodeQL Action now runs on Node.js v16. #1000
    • Update default CodeQL bundle version to 2.8.4. #990
    • Fix a bug where an invalid commit_oid was being sent to code scanning when a custom checkout path was being used. #956
    Commits
    • 2c03704 Allow the version of the ML-powered pack to depend on the CLI version
    • dd6b592 Simplify ML-powered query status report definition
    • a90d8bf Merge pull request #1011 from github/henrymercer/ml-powered-queries-pr-check
    • dc0338e Use latest major version of actions/upload-artifact
    • 57096fe Add a PR check to validate that ML-powered queries are run correctly
    • b0ddf36 Merge pull request #1012 from github/henrymercer/update-actions-major-versions
    • 1ea2f2d Merge branch 'main' into henrymercer/update-actions-major-versions
    • 9dcc141 Merge pull request #1010 from github/henrymercer/stop-running-ml-powered-quer...
    • ea751a9 Update other Actions from v2 to v3
    • a2949f4 Update actions/checkout from v2 to v3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Bump codecov/codecov-action from 2.1.0 to 3.0.0

    Bump codecov/codecov-action from 2.1.0 to 3.0.0

    Bumps codecov/codecov-action from 2.1.0 to 3.0.0.

    Release notes

    Sourced from codecov/codecov-action's releases.

    v3.0.0

    Breaking Changes

    • #689 Bump to node16 and small fixes

    Features

    • #688 Incorporate gcov arguments for the Codecov uploader

    Dependencies

    • #548 build(deps-dev): bump jest-junit from 12.2.0 to 13.0.0
    • #603 [Snyk] Upgrade @‚Äčactions/core from 1.5.0 to 1.6.0
    • #628 build(deps): bump node-fetch from 2.6.1 to 3.1.1
    • #634 build(deps): bump node-fetch from 3.1.1 to 3.2.0
    • #636 build(deps): bump openpgp from 5.0.1 to 5.1.0
    • #652 build(deps-dev): bump @‚Äčvercel/ncc from 0.30.0 to 0.33.3
    • #653 build(deps-dev): bump @‚Äčtypes/node from 16.11.21 to 17.0.18
    • #659 build(deps-dev): bump @‚Äčtypes/jest from 27.4.0 to 27.4.1
    • #667 build(deps): bump actions/checkout from 2 to 3
    • #673 build(deps): bump node-fetch from 3.2.0 to 3.2.3
    • #683 build(deps): bump minimist from 1.2.5 to 1.2.6
    • #685 build(deps): bump @‚Äčactions/github from 5.0.0 to 5.0.1
    • #681 build(deps-dev): bump @‚Äčtypes/node from 17.0.18 to 17.0.23
    • #682 build(deps-dev): bump typescript from 4.5.5 to 4.6.3
    • #676 build(deps): bump @‚Äčactions/exec from 1.1.0 to 1.1.1
    • #675 build(deps): bump openpgp from 5.1.0 to 5.2.1
    Changelog

    Sourced from codecov/codecov-action's changelog.

    3.0.0

    Breaking Changes

    • #689 Bump to node16 and small fixes

    Features

    • #688 Incorporate gcov arguments for the Codecov uploader

    Dependencies

    • #548 build(deps-dev): bump jest-junit from 12.2.0 to 13.0.0
    • #603 [Snyk] Upgrade @‚Äčactions/core from 1.5.0 to 1.6.0
    • #628 build(deps): bump node-fetch from 2.6.1 to 3.1.1
    • #634 build(deps): bump node-fetch from 3.1.1 to 3.2.0
    • #636 build(deps): bump openpgp from 5.0.1 to 5.1.0
    • #652 build(deps-dev): bump @‚Äčvercel/ncc from 0.30.0 to 0.33.3
    • #653 build(deps-dev): bump @‚Äčtypes/node from 16.11.21 to 17.0.18
    • #659 build(deps-dev): bump @‚Äčtypes/jest from 27.4.0 to 27.4.1
    • #667 build(deps): bump actions/checkout from 2 to 3
    • #673 build(deps): bump node-fetch from 3.2.0 to 3.2.3
    • #683 build(deps): bump minimist from 1.2.5 to 1.2.6
    • #685 build(deps): bump @‚Äčactions/github from 5.0.0 to 5.0.1
    • #681 build(deps-dev): bump @‚Äčtypes/node from 17.0.18 to 17.0.23
    • #682 build(deps-dev): bump typescript from 4.5.5 to 4.6.3
    • #676 build(deps): bump @‚Äčactions/exec from 1.1.0 to 1.1.1
    • #675 build(deps): bump openpgp from 5.1.0 to 5.2.1
    Commits
    • e3c5604 Merge pull request #689 from codecov/feat/gcov
    • 174efc5 Update package-lock.json
    • 6243a75 bump to 3.0.0
    • 0d6466f Bump to node16
    • d4729ee fetch.default
    • 351baf6 fix: bash
    • d8cf680 Merge pull request #675 from codecov/dependabot/npm_and_yarn/openpgp-5.2.1
    • b775e90 Merge pull request #676 from codecov/dependabot/npm_and_yarn/actions/exec-1.1.1
    • 2ebc2f0 Merge pull request #682 from codecov/dependabot/npm_and_yarn/typescript-4.6.3
    • 8e2ef2b Merge pull request #681 from codecov/dependabot/npm_and_yarn/types/node-17.0.23
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Bump actions/cache from 2.1.7 to 3

    Bump actions/cache from 2.1.7 to 3

    Bumps actions/cache from 2.1.7 to 3.

    Release notes

    Sourced from actions/cache's releases.

    v3.0.0

    • This change adds a minimum runner version(node12 -> node16), which can break users using an out-of-date/fork of the runner. This would be most commonly affecting users on GHES 3.3 or before, as those runners do not support node16 actions and they can use actions from github.com via github connect or manually copying the repo to their GHES instance.

    • Few dependencies and cache action usage examples have also been updated.

    Commits
    • 4b0cf6c Merge pull request #769 from actions/users/ashwinsangem/bump_major_version
    • 60c606a Update licensed files
    • b6e9a91 Revert "Updated to the latest version."
    • c842503 Updated to the latest version.
    • 2b7da2a Bumped up to a major version.
    • deae296 Merge pull request #651 from magnetikonline/fix-golang-windows-example
    • c7c46bc Merge pull request #707 from duxtland/main
    • 6535c5f Regenerated examples.md TOC
    • 3fdafa4 Update GitHub Actions status badge markdown in README.md
    • 341e6d7 Merge branch 'actions:main' into fix-golang-windows-example
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Bump actions/checkout from 2.4.0 to 3

    Bump actions/checkout from 2.4.0 to 3

    Bumps actions/checkout from 2.4.0 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Update default runtime to node16
    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    v2 (beta)

    • Improved fetch performance
      • The default behavior now fetches only the SHA being checked-out
    • Script authenticated git commands
      • Persists with.token in the local git config
      • Enables your scripts to run authenticated git commands
      • Post-job cleanup removes the token
      • Coming soon: Opt out by setting with.persist-credentials to false
    • Creates a local branch
      • No longer detached HEAD when checking out a branch
      • A local branch is created with the corresponding upstream branch set
    • Improved layout

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Bump actions/setup-go from 2.2.0 to 3

    Bump actions/setup-go from 2.2.0 to 3

    Bumps actions/setup-go from 2.2.0 to 3.

    Release notes

    Sourced from actions/setup-go's releases.

    v3.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    This new major release removes the stable input, so there is no need to specify additional input to use pre-release versions. This release also corrects the pre-release versions syntax to satisfy the SemVer notation (1.18.0-beta1 -> 1.18.0-beta.1, 1.18.0-rc1 -> 1.18.0-rc.1).

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.18.0-rc.1' 
      - run: go version
    
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    chore 
    opened by dependabot[bot] 1
  • Add P2P Transactions

    Add P2P Transactions

    Proposed Changes

    • Add P2P Transactions capability library implementation (didn't implement CLI for it)
    • Add json error to return error message received from paymail server (as shown below)
    image feature update 
    opened by jadwahab 1
  • Windows: The system cannot find the path specified

    Windows: The system cannot find the path specified

    [email protected] MINGW64 ~/Desktop
    $ ./paymail.exe whois satchmo
    Error connecting to database: Error Creating Dir: "C:\\Users\\Satchmo\\paymail\\database": mkdir C:\Users\Satchmo\paymail\database: The system cannot find the path specified.
    Error: open C:\Users\Satchmo\paymail\config.yaml: The system cannot find the path specified.
    [email protected] MINGW64 ~/Desktop
    
    bug-P2 
    opened by mrz1836 1
  • Bump github.com/spf13/cobra from 1.4.0 to 1.5.0

    Bump github.com/spf13/cobra from 1.4.0 to 1.5.0

    Bumps github.com/spf13/cobra from 1.4.0 to 1.5.0.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.5.0

    Spring 2022 Release ūüĆ•ÔłŹ

    Hello everyone! Welcome to another release of cobra. Completions continue to get better and better. This release adds a few really cool new features. We also continue to patch versions of our dependencies as they become available via dependabot. Happy coding!

    Active help ūüĎźūüŹľ

    Shout out to @‚Äčmarckhouzam for a big value add: Active Help spf13/cobra#1482. With active help, a program can provide some inline warnings or hints for users as they hit tab. Now, your CLIs can be even more intuitive to use!

    Currently active help is only supported for bash V2 and zsh. Marc wrote a whole guide on how to do this, so make sure to give it a good read to learn how you can add this to your cobra code! https://github.com/spf13/cobra/blob/master/active_help.md

    Group flags ūüßĎūüŹľ‚Äćūü§Ě‚ÄćūüßĎūüŹľ

    Cobra now has the ability to mark flags as required or exclusive as a group. Shout out to our newest maintainer @‚ÄčjohnSchnake for this! spf13/cobra#1654 Let's say you have a username flag that MUST be partnered with a password flag. Well, now, you can enforce those as being required together:

    rootCmd.Flags().StringVarP(&u, "username", "u", "", "Username (required if password is set)")
    rootCmd.Flags().StringVarP(&pw, "password", "p", "", "Password (required if username is set)")
    rootCmd.MarkFlagsRequiredTogether("username", "password")
    

    Flags may also be marked as "mutally exclusive" with the MarkFlagsMutuallyExclusive(string, string ... ) command API. Refer to our user guide documentation for further info!

    Completions ūüĎÄ

    Documentation ūüďĚ

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    update 
    opened by dependabot[bot] 0
  • Bump github.com/tonicpow/go-paymail from 0.7.7 to 0.7.8

    Bump github.com/tonicpow/go-paymail from 0.7.7 to 0.7.8

    Bumps github.com/tonicpow/go-paymail from 0.7.7 to 0.7.8.

    Release notes

    Sourced from github.com/tonicpow/go-paymail's releases.

    Release v0.7.8

    Changelog

    • e8f13b6 Bump actions/setup-go from 3.0.0 to 3.1.0
    • f484761 Bump actions/setup-go from 3.1.0 to 3.2.0
    • 9da2dac Bump github.com/miekg/dns from 1.1.48 to 1.1.49
    • 674323a Bump github.com/stretchr/testify from 1.7.1 to 1.7.2
    • 40c4cfd Bump goreleaser/goreleaser-action from 2.9.1 to 3.0.0
    • 45e41d7 Bumped version
    • 08f084d Fixed badge links
    • 794bf1f Merge pull request #75 from tonicpow/dependabot/go_modules/master/github.com/miekg/dns-1.1.49
    • 11329b9 Merge pull request #76 from tonicpow/dependabot/github_actions/master/actions/setup-go-3.1.0
    • 48b976b Merge pull request #77 from tonicpow/dependabot/github_actions/master/goreleaser/goreleaser-action-3.0.0
    • 901e179 Merge pull request #78 from tonicpow/dependabot/github_actions/master/actions/setup-go-3.2.0
    • c4dba0d Merge pull request #79 from tonicpow/dependabot/go_modules/master/github.com/stretchr/testify-1.7.2
    • 7dea04c Updated linter
    • 245d0d2 Upgraded deps
    Commits
    • 45e41d7 Bumped version
    • 245d0d2 Upgraded deps
    • 7dea04c Updated linter
    • c4dba0d Merge pull request #79 from tonicpow/dependabot/go_modules/master/github.com/...
    • 674323a Bump github.com/stretchr/testify from 1.7.1 to 1.7.2
    • 901e179 Merge pull request #78 from tonicpow/dependabot/github_actions/master/actions...
    • f484761 Bump actions/setup-go from 3.1.0 to 3.2.0
    • 48b976b Merge pull request #77 from tonicpow/dependabot/github_actions/master/gorelea...
    • 40c4cfd Bump goreleaser/goreleaser-action from 2.9.1 to 3.0.0
    • 11329b9 Merge pull request #76 from tonicpow/dependabot/github_actions/master/actions...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    update 
    opened by dependabot[bot] 0
Releases(v0.3.22)
Owner
MrZ
#DevOps #Go #Bitcoin
MrZ
Go-ethlibs - A sandbox of helpers related to interacting with Ethereum nodes

go-ethlibs: Go Ethereum Libraries A sandbox of helpers related to interacting wi

Superpoetdev 0 Jan 30, 2022
Golang NASA APOD Web App

apod Golang NASA APOD Web App A simple golang web application which consumes data from the NASA APOD API and uses Golang HTML templates and structs wi

null 0 Dec 16, 2021
Cosmochat - A decentralized chat app on Cosmos.

cosmochat cosmochat is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve command i

Sharad Chand 0 Jan 2, 2022
Golang-demo - A repo for app golang-demo; bootstrapped by DevStream

golang-demo This is a repo for app golang-demo; bootstrapped by DevStream. By de

Daniel Hu 0 Mar 1, 2022
Tendermint-built-in - Tendermint Built-in KVStore app

Tendermint Built-in KVStore app Install & build Pull all vendor dependencies: go

Antoine 2 May 11, 2022
Scp-wallet-api - Backend for SCP Wallet app

SCP Wallet API Backend for SCP Wallet app. It exposes a simplified REST API whic

Paolo Biglioli 2 Jan 31, 2022
ConsenSys Software 8 Jan 18, 2022
Bare Bones Encrypted File Uploading Service

eggnog Basic file uploading service in Go. Files are XOR encrypted server side, and are only accessible with the key. It's not perfect encryption, but

Daniel 1 Nov 15, 2021
A tool for secrets management, encryption as a service, and privileged access management

Deploy HCP Vault & AWS Transit Gateways via Terraform https://medium.com/hashicorp-engineering/deploying-hcp-vault-using-the-hcp-terraform-provider-5e

Temur Yunusov 0 Nov 23, 2021
An end-to-end encrypted secret messaging service.

Nimie An End-to-end encrypted Anonymous Messaging Service. In a nutshell This service basically empowers you to have short anonymous conversations wit

Meghdut Mandal 0 Dec 17, 2021
Puppet is a service just for being controlled.

Puppet Puppet is a service just for being controlled. Usage you can run a puppet by docker: docker run --name puppet pigeonligh/puppet and then you c

Chen Xu 0 Sep 30, 2021
Stand up a statediffing service directly on top of a go-ethereum leveldb instance

eth-statediff-service standalone statediffing service ontop of leveldb Purpose:

tuk-tik-aryan 0 Dec 21, 2021
A simple, secure self-destructing message service, using HashiCorp Vault product as a backend

sup3rS3cretMes5age! A simple, secure self-destructing message service, using Has

Karn Wong 0 Mar 5, 2022
Ots - The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platform for application delivery.

Bhojpur OTS - Object Tracking System The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platfor

Bhojpur Consulting 0 Dec 31, 2021
The Bhojpur Wallet is a platform-as-a-service product used as a Wallet Engine based on the Bhojpur.NET Platform for application delivery.

Bhojpur Wallet - Data Processing Engine The Bhojpur Wallet is a platform-as-a-service used as a Service Engine based on the Bhojpur.NET Platform. It l

Bhojpur Consulting 1 Feb 2, 2022
Das-register - Backend of DAS registration service

Prerequisites Install & Run Usage Register Set Reverse Record Others Documents d

DAS 4 May 23, 2022
FabricPing: Network tools for service fabric

FabricPing Network debugging tools for Service Fabric Install Windows powershell

Boshi Lian 6 Jun 27, 2022
Web Service challenge: Matriz Transformation

Web Service challenge: Matriz Transformation Recebendo como input uma matriz atr

leonardo magdanello ;) 1 Feb 16, 2022
The minilock file encryption system, ported to pure Golang. Includes CLI utilities.

Go-miniLock A pure-Go reimplementation of the miniLock asymmetric encryption system. by Cathal Garvey, Copyright Oct. 2015, proudly licensed under the

Cathal Garvey 171 May 29, 2022