GithubHelp home page GithubHelp logo

0xtrr / nostr-tool Goto Github PK

View Code? Open in Web Editor NEW
60.0 5.0 18.0 190 KB

A simple CLI to send nostr events

License: MIT License

Rust 97.31% Dockerfile 0.36% Nix 2.32%
cli nostr rust tool hacktoberfest

nostr-tool's Introduction

Nostr-tool

banner

crates.io crates.io - Downloads Docker Pulls MIT

A CLI tool to make it simple to specific send nostr events.

Install

Installation instructions can be found in INSTALL.md.

Usage

Run nostr-tool -h to see available options and subcommands. To get help with the sub commands, run nostr-tool [subcommand] -h, e.g. nostr-tool text-note -h. More examples can be found in EXAMPLES.md.

Contributions

Contributions are always welcome! If you find something the CLI is missing, a PR is very appreciated. If you can't develop it yourself, please make an issue for it so that me or someone else can take a stab at it.

Thank you for your contributions! Your help is greatly appreciated.

nostr-tool's People

Contributors

0xtrr avatar bijeebuss avatar gourcetools avatar josephgoulden avatar thesimplekid avatar tonygiorgio avatar w3irdrobot avatar yukibtc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nostr-tool's Issues

feat: Add response message

It would be nice to have response from server when an event is send, usually ["OK","EVENTID",true,""] when note is send succesfully.
Using websocat and nostril , that's what i get.

Or i get :

Sent event EVENTID to 'wss://relay.nostr.band'.
Seen EVENTID on 'wss://relay.nostr.band'.

when using noscl.

This let me know that the message was succesfully accepted by the server and the event id so I can look at it later if i need to.
I know you already give:

Public key:
Private key:

back . Wich i think is nice.

What do you think?

feat: Set LUD-06 in update-metadata command

Users should be able to set their LUD-06 in the update-metadata command. Currently we're using nostr_rust's set_metadata function but it does not have support for this field so we probably need to manually handle this type of event. Or we could implement support for it in nostr_rust.

feat: Generate a new keypair

The user should be able to just generate a new keypair. Might be helpful when testing new clients or when you want to generate a temporary anon keypair. Users will be able to generate keypairs easily offline too.

Request: Add some topics to this repo

Just discovered this repo by searching the domains of public nostr relays. Would you be open to adding the nostr topic to the repo? That would make it easier for folks to discover the repo on GitHub.

I'm browsing around the nostr landscape trying to get a sense of what's happening in the space, so I noticed that this repo didn't show up when I was looking at the topic here https://github.com/topics/nostr

Arbitrary fields in metadata events

Should we enable arbitrary fields in the metadata? This will not follow the existing protocol spec I believe but the LUD related fields are not a part NIP-01 either but are still well established in existing clients for use with e.g. in NIP-57 (Bitcoin Lightning zaps).

delete-profile doesn't work

I just get an error message that the command doesn't work, and a suggestion to use delete-event, instead.

feat: Add flag to fetch user relays

I think it would make it easier to e.g. delete events if we just fetched all user relays. Should probably be exposed as it's own flag at the root level of the command.
So instead of doing
nostr-tool -r wss://nostr.oxtr.dev -p {PRIVATE_KEY} delete-event -e {EVENT_ID} -r "The reason for deleting the event"
we could do:
nostr-tool -ur -p {PRIVATE_KEY} delete-event -e {EVENT_ID} -r "The reason for deleting the event"
where the -ur flag is short for "user relays" or something similar.

feat: import/export contacts and relays

Let the user export existing contacts and relays to CSV files and likewise import from the same CSV file. Nostr-tool already has support for importing contact list from CSV but you'd have to manually create the file yourself.

feature: Zap support

I have not done too much thinking about this but adding it so I, or someone else, can take a look at it later. Does it make sense to support Zaps in nostr-tool?

feature: NIP-58 (Badges) support

I haven't read too much up on badges but it seems pretty easy to implement. We should have one command for creating a badge and one for issuing the badge to a npub.

feature: NIP-30 support (resources)

I want to implement experimental support for NIP-30 in case some devs want to play around with such events. I'm explicitly saying "experimental support" as the NIP-30 pr is still a "draft" and is subject to change.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.