What is Nostr?
s_ota / S. Ota
npub1sus…0yu8
2023-03-25 04:41:41

s_ota on Nostr: nostr-tools 内部でも使っている noble-secp256k1 で "破壊的変更" ...

nostr-tools 内部でも使っている noble-secp256k1 で "破壊的変更" が来てた。

Nostr に関連しそうなのはこの辺。シュノア署名は @noble/curves に移動。今まで非同期だったのが同期になった等。

```
-import * as secp from '@noble/secp256k1';
+import { secp256k1, schnorr } from '@noble/curves/secp256k1';
+import * as utils from '@noble/curves/abstract/utils';
+import { sha256 } from '@noble/hashes/sha256';

-event.sig = secp.utils.bytesToHex(await secp.schnorr.sign(event.id, getPrivateKey(account)));
-// console.assert(await secp.schnorr.verify(event.sig, event.id, event.pubkey));
+event.sig = utils.bytesToHex(schnorr.sign(event.id, getPrivateKey(account)));
+// console.assert(schnorr.verify(event.sig, event.id, event.pubkey));

-const key = secp.getSharedSecret(privkey, '02' + pubkey);
+const key = secp256k1.getSharedSecret(privkey, '02' + pubkey);
```

https://github.com/susumuota/nostr-keyx/commit/1c405ac1568a01b8d8129cff1a3bdb2d09e79338
Author Public Key
npub1susumuq8u7v0sp2f5jl3wjuh8hpc3cqe2tc2j5h4gu7ze7z20asq2w0yu8