mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-04-23 01:01:28 +00:00
35 lines
907 B
JavaScript
35 lines
907 B
JavaScript
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
import NDK, { NDKNip07Signer } from "@nostr-dev-kit/ndk";
|
|
|
|
const NDKContext = createContext(null);
|
|
|
|
const relayUrls = [
|
|
"wss://nos.lol/",
|
|
"wss://relay.damus.io/",
|
|
"wss://relay.snort.social/",
|
|
"wss://relay.nostr.band/",
|
|
"wss://nostr.mutinywallet.com/",
|
|
"wss://relay.mutinywallet.com/",
|
|
"wss://relay.primal.net/"
|
|
];
|
|
|
|
export const NDKProvider = ({ children }) => {
|
|
const [ndk, setNdk] = useState(null);
|
|
|
|
useEffect(() => {
|
|
const nip07signer = new NDKNip07Signer();
|
|
const instance = new NDK({ explicitRelayUrls: relayUrls, signer: nip07signer });
|
|
setNdk(instance);
|
|
}, []);
|
|
|
|
return (
|
|
<NDKContext.Provider value={ndk}>
|
|
{children}
|
|
</NDKContext.Provider>
|
|
);
|
|
};
|
|
|
|
export const useNDKContext = () => {
|
|
return useContext(NDKContext);
|
|
};
|