stuff
This commit is contained in:
commit
896f2b76aa
204 changed files with 4845 additions and 0 deletions
78
nostr_notes/First steps.md
Normal file
78
nostr_notes/First steps.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
I've been reading too much about this without dipping my toes, so here it goes.
|
||||
|
||||
I want to run a relay locally, create two identities and get them talking to each other.
|
||||
|
||||
I'll be using Python stuff so that I can look under the hood if necessary.
|
||||
|
||||
- Python client: https://github.com/BrightonBTC/bija
|
||||
- Python relay: https://github.com/monty888/nostrpy
|
||||
|
||||
|
||||
Goals:
|
||||
1. [x] Create a private/public key pair.
|
||||
2. [x] Connect to a popular relay and read stuff.
|
||||
3. [ ] Set up my own local relay and talk with myself.
|
||||
|
||||
|
||||
# Creating a private/public key pair
|
||||
|
||||
So, from what I'm reading, a private key is simply a 256 bit number, usually encoded in hex. I can easily create that with:
|
||||
|
||||
```shell
|
||||
openssl rand -hex 32
|
||||
```
|
||||
|
||||
So I got myself this nice private key: `39d583bc40f732b0c35dfe1a5b1124c5b51b6599f78c6d60f59f31c4581d524b`. Now I just need it's public sibling to get going.
|
||||
|
||||
I decided to cook the public key myself with this library: https://github.com/jeffthibault/python-nostr. Install it was a pain, everything kept breaking. In the end, I:
|
||||
- Downloaded Python 3.9
|
||||
- Cloned the `python-nostr` repo
|
||||
- Made a venv and installed `python-nostr` in there
|
||||
|
||||
So, I managed to get my public key like this:
|
||||
```python
|
||||
from nostr.key import PrivateKey
|
||||
|
||||
private_key = PrivateKey(raw_secret=bytes.fromhex("39d583bc40f732b0c35dfe1a5b1124c5b51b6599f78c6d60f59f31c4581d524b"))
|
||||
public_key = private_key.public_key
|
||||
print(f"Private key: {private_key.bech32()}")
|
||||
print(f"Public key: {public_key.bech32()}")
|
||||
```
|
||||
|
||||
And apparently, my private key and public key in bech32 format are:
|
||||
- Private: nsec1882c80zq7uetps6alcd9kyfyck63keve77xx6c84nucugkqa2f9s5r7rrg
|
||||
- Public: npub1zer6sezx3a6g7ef9qanv9qnqamcn4j2fez366skhfkpvffkpmvhsf65huy
|
||||
|
||||
In hex:
|
||||
- Private: 39d583bc40f732b0c35dfe1a5b1124c5b51b6599f78c6d60f59f31c4581d524b
|
||||
- Public: 1647a864468f748f65250766c28260eef13ac949c8a3ad42d74d82c4a6c1db2f
|
||||
|
||||
|
||||
|
||||
|
||||
# Connect to a popular relay
|
||||
|
||||
Ok. Part 1, getting a client setup. I'll try with: https://github.com/BrightonBTC/bija.
|
||||
|
||||
Docker didn't work, weird errors left and right. I went ahead and simply installed as a python script.
|
||||
|
||||
Okay nice, I loaded my private keys and we are live. Now I need to find someone's pubkey to search for their messages.
|
||||
|
||||
I settled for dergigi, this is his pubkey: `npub1dergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsh9xzpc`
|
||||
|
||||
Andn I found him. Cooooolio.
|
||||
|
||||
|
||||
|
||||
|
||||
# Set up my own local relay and talk with myself
|
||||
|
||||
Okay, this one will be a bit tougher for sure.
|
||||
|
||||
First, I don't even know if bija can't connect to my own home relay. The first time I opened, it automatically showed me a bunch of cool relays and I just accepted those, so I don't know how to add another one. I'm gonna check.
|
||||
|
||||
Okay, it can connect to a `wss://` address. Apparently `wss` stands for web socket, which is an alternative protocol to http. Man, I'm growing old and outdated.
|
||||
|
||||
Anyways. If I set up a relay and manage to get that `wss://` thingy from it, I should be able to connect.
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue