Skip to content

Commit

Permalink
bindings: remove examples from README and point to the book for docum…
Browse files Browse the repository at this point in the history
…entation and license

Signed-off-by: Yuki Kishimoto <[email protected]>
  • Loading branch information
yukibtc committed Nov 19, 2024
1 parent 3e30461 commit 1b2778e
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 148 deletions.
2 changes: 1 addition & 1 deletion bindings/nostr-sdk-ffi/android/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ mavenPublishing {
licenses {
license {
name.set("MIT")
url.set("https://github.com/rust-nostr/nostr/blob/master/LICENSE")
url.set("https://rust-nostr.org/license")
}
}
developers {
Expand Down
71 changes: 3 additions & 68 deletions bindings/nostr-sdk-ffi/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,79 +4,14 @@

Nostr protocol implementation, Relay, RelayPool, high-level client library, NWC client and more.

## Getting started
## Documentation

```shell
pip install nostr-sdk
```

```python
import asyncio
from datetime import timedelta
from nostr_sdk import *


async def main():
# Init logger
init_logger(LogLevel.INFO)

# Initialize client without signer
# client = Client()

# Initialize with Keys signer
keys = Keys.generate()
signer = NostrSigner.keys(keys)
client = Client(signer)

# Initialize with NIP46 signer
# app_keys = Keys.parse("..")
# uri = NostrConnectUri.parse("bunker://.. or nostrconnect://..")
# connect = NostrConnect(uri, app_keys, timedelta(seconds=60), None)
# signer = NostrSigner.nostr_connect(connect)
# client = Client(signer)

# Add relays and connect
await client.add_relay("wss://relay.damus.io")
await client.add_relay("wss://nos.lol")
await client.connect()

# Send an event using the Nostr Signer
builder = EventBuilder.text_note("Test from Rust Nostr Python!")
await client.send_event_builder(builder)
await client.set_metadata(Metadata().set_name("Testing Rust Nostr"))

# Mine a POW event and sign it with custom keys
custom_keys = Keys.generate()
print("Mining a POW text note...")
event = EventBuilder.text_note("Hello from Rust Nostr Python bindings!", []).pow(20).sign_with_keys(custom_keys)
event_id = await client.send_event(event)
print("Event sent:")
print(f" hex: {event_id.to_hex()}")
print(f" bech32: {event_id.to_bech32()}")

await asyncio.sleep(2.0)

# Get events from relays
print("Getting events from relays...")
f = Filter().authors([keys.public_key(), custom_keys.public_key()])
events = await client.fetch_events([f], timedelta(seconds=10))
for event in events.to_vec():
print(event.as_json())


asyncio.run(main())
```

More examples can be found [here](https://github.com/rust-nostr/nostr/tree/master/bindings/nostr-sdk-ffi/python/examples).
Learn more about `rust-nostr` at <https://rust-nostr.org>.

## Supported NIPs

Look at <https://github.com/rust-nostr/nostr/tree/master/crates/nostr#supported-nips>

## Book

Learn more about `rust-nostr` at <https://rust-nostr.org>.

## State

**This library is in an ALPHA state**, things that are implemented generally work but the API will change in breaking ways.
Expand All @@ -87,4 +22,4 @@ Learn more about `rust-nostr` at <https://rust-nostr.org>.

## License

This project is distributed under the MIT software license - see the [LICENSE](https://github.com/rust-nostr/nostr/blob/master/LICENSE) file for details
This project is distributed under the MIT software license - see the [LICENSE](https://rust-nostr.org/license) file for details
32 changes: 23 additions & 9 deletions bindings/nostr-sdk-flutter/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
# Nostr SDK Flutter
# Nostr SDK

## Installation
## Description

```yaml
nostr_sdk:
git:
url: https://github.com/rust-nostr/nostr.git
ref: <tag-or-commit>
path: bindings/nostr-sdk-flutter
```
Nostr protocol implementation, Relay, RelayPool, high-level client library, NWC client and more.

## Documentation

Learn more about `rust-nostr` at <https://rust-nostr.org>.

## Supported NIPs

Look at <https://github.com/rust-nostr/nostr/tree/master/crates/nostr#supported-nips>

## State

**This library is in an ALPHA state**, things that are implemented generally work but the API will change in breaking ways.

## Donations

`rust-nostr` is free and open-source. This means we do not earn any revenue by selling it. Instead, we rely on your financial support. If you actively use any of the `rust-nostr` libs/software/services, then please [donate](https://rust-nostr.org/donate).

## License

This project is distributed under the MIT software license - see the [LICENSE](https://rust-nostr.org/license) file for details
73 changes: 3 additions & 70 deletions bindings/nostr-sdk-js/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,81 +6,14 @@ Nostr protocol implementation, Relay, RelayPool, high-level client library, NWC

This library **should** work on every JavaScript environment (nodejs, web, react native, ...).

## Getting started
## Documentation

```sh
npm i @rust-nostr/nostr-sdk
```

```javascript
const { Client, ClientBuilder, NostrSigner, Keys, Nip07Signer, Metadata, ZapDetails, ZapEntity, ZapType, PublicKey, loadWasmAsync } = require("@rust-nostr/nostr-sdk");

async function main() {
// Load WASM
// if you are in a non async context, use loadWasmSync()
await loadWasmAsync();

// Compose client with private key
let keys = Keys.generate(); // Random keys
let signer = NostrSigner.keys(keys);
let client = new Client(signer);

// Compose client with NIP07 signer and WebLN zapper
let nip07_signer = new Nip07Signer();
let signer = NostrSigner.nip07(nip07_signer);
let zapper = NostrZapper.webln(); // To use NWC: NostrZapper.nwc(uri);
let client = new ClientBuilder().signer(signer).zapper(zapper).build();

// Add relays
await client.addRelay("wss://relay.damus.io");
await client.addRelay("wss://nos.lol");
await client.addRelay("wss://nostr.oxtr.dev");

await client.connect();

let metadata = new Metadata()
.name("username")
.displayName("My Username")
.about("Description")
.picture("https://example.com/avatar.png")
.banner("https://example.com/banner.png")
.nip05("[email protected]")
.lud16("[email protected]");

await client.setMetadata(metadata);

// Publish text note
let textNoteBuilder = EventBuilder.textNote("My first text note from rust-nostr!", []);
await client.sendEventBuilder(textNoteBuilder);

// Compose and publish custom event (automatically signed with `NostrSigner`)
let builder = new EventBuilder(1111, "My custom event signer with the NostrSigner", []);
await client.sendEventBuilder(builder);

// Send a Zap non-zap (no zap recepit created)
let publicKey = PublicKey.fromBech32("npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet");
let entity = ZapEntity.publicKey(publicKey);
await client.zap(entity, 1000);

// Send public zap
let entity = ZapEntity.publicKey(publicKey);
let details = new ZapDetails(ZapType.Public).message("Zap for Rust Nostr!");
await client.zap(entity, 1000, details);
}

main();
```

More examples can be found [here](https://github.com/rust-nostr/nostr/tree/master/bindings/nostr-sdk-js/examples).
Learn more about `rust-nostr` at <https://rust-nostr.org>.

## Supported NIPs

Look at <https://github.com/rust-nostr/nostr/tree/master/crates/nostr#supported-nips>

## Book

Learn more about `rust-nostr` at <https://rust-nostr.org>.

## State

**This library is in an ALPHA state**, things that are implemented generally work but the API will change in breaking ways.
Expand All @@ -91,4 +24,4 @@ Learn more about `rust-nostr` at <https://rust-nostr.org>.

## License

This project is distributed under the MIT software license - see the [LICENSE](https://github.com/rust-nostr/nostr/blob/master/LICENSE) file for details
This project is distributed under the MIT software license - see the [LICENSE](https://rust-nostr.org/license) file for details

0 comments on commit 1b2778e

Please sign in to comment.