一直听说有个 nip50,但是没有太明白怎么用,今天测试了一下。明白了。
https://nos.today/search?q=client
https://nos.today/search?q=client
wss://relay.noswhere.com/
wss://search.nos.today/
wss://relay.nostr.band/
wss://search.nos.today/
wss://relay.nostr.band/
支持搜索,
搜索事件:
搜索事件:
{"kinds":[1],"search":"client","limit":100}
测试代码:
`import {WebSocket} from "ws"
const relayUrl = 'wss://relay.nostr.band';
`import {WebSocket} from "ws"
const relayUrl = 'wss://relay.nostr.band';
function sub(url,filter){
const relay = new WebSocket(url);
const relay = new WebSocket(url);
relay.onopen = () => {
console.log('Connected to bootstrap relay');
// 查询中继列表
const query = ['REQ', 'subscription-id', filter];
relay.send(JSON.stringify(query));
};
console.log('Connected to bootstrap relay');
// 查询中继列表
const query = ['REQ', 'subscription-id', filter];
relay.send(JSON.stringify(query));
};
relay.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data[0] === 'EVENT' ) {
const relayList = data[2].tags;
console.log('Discovered relay list:', data[2].pubkey,relayList,data[2].content);
// 连接到用户的中继
try{
relayList.forEach(([_, relayUrl]) => {
const newRelay = new WebSocket(relayUrl);
newRelay.onopen = () => {
console.log(
};
});
} catch {}
const data = JSON.parse(event.data);
if (data[0] === 'EVENT' ) {
const relayList = data[2].tags;
console.log('Discovered relay list:', data[2].pubkey,relayList,data[2].content);
// 连接到用户的中继
try{
relayList.forEach(([_, relayUrl]) => {
const newRelay = new WebSocket(relayUrl);
newRelay.onopen = () => {
console.log(
Connected to relay: ${relayUrl}
); };
});
} catch {}
}
};
};
}
sub(relayUrl,{"kinds":[1],"search":"client","limit":100})
`
sub(relayUrl,{"kinds":[1],"search":"client","limit":100})
`
轻轻松松就出结果了。