22 lines
836 B
Markdown
22 lines
836 B
Markdown
# Connecting to a Relay
|
|
|
|
You must connect your nostr [Client](../core/client) to a relay in order to send and receive [Events](../events).
|
|
Instantiate a [`Nostr::Client`](https://www.rubydoc.info/gems/nostr/Nostr/Client) and a
|
|
[`Nostr::Relay`](https://www.rubydoc.info/gems/nostr/Nostr/Relay) giving it the `url` of your relay. The `name`
|
|
attribute is just descriptive.
|
|
Calling [`Client#connect`](https://www.rubydoc.info/gems/nostr/Nostr/Client#connect-instance_method) attempts to
|
|
establish a WebSocket connection between the Client and the Relay.
|
|
|
|
```ruby
|
|
client = Nostr::Client.new
|
|
relay = Nostr::Relay.new(url: 'wss://relay.damus.io', name: 'Damus')
|
|
|
|
# Listen for the connect event
|
|
client.on :connect do
|
|
# When this block executes, you're connected to the relay
|
|
end
|
|
|
|
# Connect to a relay asynchronously
|
|
client.connect(relay)
|
|
```
|