summaryrefslogtreecommitdiff
path: root/shim/ws-shim/src/test.ts
blob: e0f7784a3dea91b18ef777f4a428627787463efb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
import { Relay } from "./client";
const ids = [
  // "1a4f2d987384a33753e777138586b1f9b3b62eb0f6e54ca1cdb42859de5625bc",
  "9ef9530b9601d798fcd4e29f151b16bbe4f659408a80618cdf9f2f12a8bc39c6",
  "db2815575eddeed24f122de70023c861ec63d0473c40b899d8883194edf122b3",
  "1ada56a84ffc94a3cd8ad68432c3cc0ed3e66ac8633226e92cc1a1686efa15a8",
  "1a4e12c3c8d2c560c068ee71f51afb84eefda4ec2593ab160312265d626aaa72",
  "f0907001d0349d8216c54106d7d3ae400466da204f08a29a69bd0a3d3d1f5cff",
  "6a9265f37d944d64d3db918b3b5f06cd2151b428412e1d15672f4cfe16cb17ac",
  "9844d8b23a5a5e51b922b25dec8e574a40a68e964fb116e1c283f045ddeb32c",
  "fd0724d5238656a3a760c2b56f2eb9d9da7217936d7c51c865584e354485f664",
  "1389f670203855c01f575c49f0830aabd7ed01c0fe7cab8f6ee9184393f1f067",
  "ac668dc63d8aa38770ef79c2d5a98300d40e9e6daf91f3cd26b942587c70c790",
  "f032c4871f82213419dc834db7c469813b1bc75b0f9256a47de90a0f7d28fac5",
  "316141d2349969fe1b1d708c4045c455d2608950d7d6d32fb7f99ca622138c34",
  "5e9c557df1e9e184e31ce1a8507497dbc79714aedaf4bb386981f8be4eb1dcb5",
  "784e0a3af7b11279c612a94726db0056860aabb4e53c614e80fd7e02d409150f",
  "4fcc1a0d933afaea7f4fe094cab42b433d0ae0748bcb55e685d5ac3da4191197",
  "cf58063ffba4a0f25db862faa9f88e07177fb87c2e4c56b23303b561f7a34376",
  "cd750bb5f99a89181f59234c1e5824da72dce4a0fbc87d0f29ef3e62e1de0040",
  "ffcc0ed56c747a858224f3d2c122b1430a1df8648dba57544d5a50d976b504bb",
  "d08be10b0338b3ab9dc49a31c8d5482289438f4dfbdb9dd844bc1b4990f1536f",
  "576cbbddd18301191cca632b464092412362afbf31853d987cd461864b1328ec",
  "a0ec2197b96c0e34ba04b89ee37d8fa2202bc02e77ea6a27322e7388afbc470e",
  "4d4de8378e1f7238a5b00cbac70547e49a12db82121cb949459478124a799f03",
  "d1ab588433fc684540d55e311f1ea4790dfcd793a66b83c5e05e34e319dd421d",
  "564811aab801279ae7a473afe37557cfba61816480a5791079a1ca3bb166b038",
  "fa5b72846f95271fc83966194f4e7bb63cec91d8412ea00a64f1d8ca304f9d56",
  "b4e9c5d587ce36e87105e257eb9042070e415511ef58e29d40fc15e9de3a310d",
  "c6c64bd7034cabb1f4d9efd47e76c7d18c631a033442b22d46c3a96614398f10",
  "d0fcb5fed102c8779c23d57b4e159402ccc6297f5f8076f72865aa782713f05f",
  "20d2505d8a74f0aaad2c1a7766897e717fcc016836cf0469ac54e5ea5458e0c2",
  "f345c73a5e44837f88935151d9e34d0340b7a7cd40649f8d446a4445ef99ee7d",
  "3b7ef95b5ed5b676b98cef84ab6e4ec9690068b8573a4f524fc6e07a4a88346a",
  "735743bd4b332c8786b4592de2fa8fc2155f995e51a8977c8a784c5361d62bc0",
  "816bd14613d9c01260a278db8b209b7031a9f91592daee205a74c8f8e475c3d",
  "ac13a127f7c140ce29da2547f5262a311f4a6ceef09e1a9cd7ce291f2e6e62cb",
  "b8388f25ad94e4c5ef09d424d6d24f7cfa156b863ee82cca4d28f74db476c81f",
  "798d46bcde8ac14f5dd196ceab38b0cc806cfd97814dc30213b2fab37deeb41a",
  "5864e73def8a4c697e79275ad545ba595fae0c3edb44b5639c9f971433eb4a7e",
  "c834c49b93a56dee7800d299ce77f694aef72e3e9b536af360515a9d8226d411",
  "307eede13672e33004de6e5d66c6a1a40408a34b6b095399d94a6028f4fdf498",
  "6d26e33e9b1ac3e2924879ec39a8f565aebdd004b28ca0377e52a4ef9f86302d",
  "5cc263a10f2b0c008b4f3074ffa0ee057c40f1490d2e0717715958e7307aa558",
  "192f9b30a0e1d5d4ef16031eaa257d9d84f19c75431cdb3159ee5494c81eeaa8",
  "e5e823f3b827c1951d870ef1c402947f1aa6466f313499daab18f60b1519c4a6",
  "9895c3aafb063434b7507ae771e6ec4ea1faa5bcbbd5fcc2932a44031eac3547",
  "b15411553c1e86f2e851e67e3de767bb9f017da7fd73542f9cb13ca85a2b9cc5",
  "2971206110b600d0b0f2120dc98404c2fa0086ea8ece6ed68b4320f585026b30",
  "6506597b23bbdb6d0949c16a7d432b8286566895dfe2b9d7e0dc9333ead0d645",
  "a6c3c5ad654dcdc9515260426a476d69d8ce3b73151f660adad29ff444047f9a",
  "7aa5492fe997029882a68f733c15cc09393b7f69c0608715fcbad813ad1c1fcf",
  "6f5ccf726c09f097c4dd0279bb017a211caf9f1416520284f58314dea662d83a",
  "f54a6019b86623e2afba6cf405a78a47dbc248fb12f11032e453cd1bb2c4cade",
  "2380bdff9700736e12cb6038b7f7897bced9915e102a7e1715cbc2a93e85de08",
  "5f12edfb089ec7da0e2d75003531f7dc19e52a5e0bb99fa448415a763a9d0466",
  "968a97769cdc23893c407171b3d83b63cca25b88e838d6f489ba8874fc378642",
  "e52552ffc80c4947dd1477fe06690ecee3544a24a2ec99b320de8386226cd57",
  "30e39614bf11a831fe8e5abd4ff34e0d0f19337e505ea16e7b55770208f1a65b",
  "ea2f2b92e8fe184a6eed5f15f042b1ef96a29ccf60b69be8585e84355e97d9b",
  "606ce93b81816ceeb5d1582551c83edbb2324ddc3ea6c355502fb008e949b4c5",
  "942e798d00041f0d923bfb7f438556f069500b17e4e37ea7a2c524c021913043",
  "fade41bedfd5889dd7f1ee65c4c6daf8128a1cbfaebde0074b67d4650ce70af7",
  "6be71a0b8facbd5c877f84173f1a251f4980be03395583e4c2fd20c52e2a4394",
  "25323e64eaa402475e0b0c5b29c17bf38fa393cd2af469107f3b7a6d7a87d5bd",
  "fd1ffe1c90265a9c5e8660bc5be8b9b547a27fffefa34f9d2d7c3bc4184864e2",
  "8f849302b357d36535a9107bfe6cd0299c3e4f9e5cb6d9dd6da91e014529d7e0",
  "c179af3a8482b96549dab5552f951f4eb9ccd4b17160941c16c3bf6be49b9fd1",
  "db240bc1dcbdccbd39d48628ee2f849d8ab610f589015f9cc847ead13f0ed965",
  "6b2c895da7ec15f58bd820dc8b2c71451e300b10119abfd74a2f56c0b34f9691",
  "f62dc1addae6efbebb9270a38040ee36d8ddfd9faa06c0965d129311a3603049",
  "ab18e7c0831991736f037ad9b4485888c9613e2632b8868bc4fd103d42f8ab95",
  "e8ecef3ce401b129abbb90a691dd58cfe412b3cc91096ab938687d6a31790f5b",
  "c5b72ee7a99992d6d69f1fa88448fd6114e02047563a17ff4b06b60cf95f1bc1",
  "c03eede09d30f728c072b9a51d4196928b75ad97464a58123de63e2fb88ce6db",
  "815a357554af46d2409b050bf5b8576ea4433f93be0022d60111f9666810fec1",
  "5a12e5bf51e06e08ed407440c638db83f01e50a5e7ef60b2b6a5c4c97c638d72",
  "9a63d5370d55feab709b5a89057cc958dcc27f8dc97fc31d756e254fca3ab95d",
  "295f6bf83dd3786be112649b876bd7fc85092a26e371c32de1610e83aa0b52e2",
  "2c49e4b7539af2c04106100b1ef9fb4e78256f579eab536795d6643de0995af6",
  "9603af83c7a7f6d6bbb29e077d547daa108f82a88266f5ffa352dc32fc8fc2ad",
  "ae351496525d73aa86f4bc75eff3838d416da3b7b8560631f1997bcee197df43",
  "13c9788b5acb21a796c91ee98d4ec59212a3dd298dd679b63eceddd846fffc4e",
  "ee1aa84638e8f0f1d569b41a7b086d115de8a60df51fd9be7bab5bbb9148452c",
  "7eab180ce19c973aec552d8d3fd929f8c9887b70524d31afed455557bb128de9",
  "48c8f8c17c54d18b5ba8030302ec6c69a24298ec802f059f594c27221209ae77",
  "33b4f14d5941c4831217ed5f1133fe236379cf51e43d34e21cfa5f3b550b1e5b",
  "ea052981db488cb53b880fa44904def82ca6817fce6750f4b67ae75471e768d6",
  "5c3db160634a6dcd482ee6fde99ac1f3e3bfa98ea7362461ba020b86c2220f20",
  "cf3ee418d7b53b25cf6e5114f5f57585d9597c9352af4d55835d5820f55d58c3",
  "55d512494d2fe01303b724452d2ec80cba26cf431cea0c91117ec091204d46c1",
  "17a23ffd90f53ec2ba760c418b8663f896fb307018fa8b71a3ee6d0f2dff0e0e",
  "2b860e2a76738c8e3af1ba7be4df56b7ca49e817d9abc8367a74c42660b50109",
  "dcb46a25511e3ec3ced2329d894ccc3da4840d66aab85c073d48d99d2d766030",
  "79771a7db2d8c8a8a611a814328e2d2e4fc6d6f2c146d93181ffbe5a6226cc8c",
  "8d73454d355f2835f8e97c53ef5da56e6f2e17ed66aae0670f06ad99e13beca6",
  "2a97bd64fe3229c2fdc98039239246a02bb6d223d93f40657affd68a3bef58dd",
  "abb8de517e96599bd18e849aa722a2ce1b59f87a1e7fe188fda734f07b4962fb",
];

const authors = [
  //   "84659c5e4dbff288ac294b22e2cff54b5af8e2d2071985859298160de5211dd8",
  //   "8b6050822e1b51fbc70d4fa05e158f0067d24d86e9c831dd86909d22b77f67f6",
  //   "e9a2a5f535cce1f1447b4219d5f7f30cefea50be5e0017cfd877efe881f589c5",
  // "efe5d120df0cc290fa748727fb45ac487caad346d4f2293ab069e8f01fc51981",
  // "5afa711a2e4f45294c9ca8033861a0e15a879e6fc1a4a6903640f7faeae0d7b8",
  // "8aa70f4433129dadb71330ac89f62b534caa200a9f3ee349a0f4a5593073d1a6",
  // "c7e300eb1e297c5331cf57ae1304b48e5adeeb56c492d9f450494b39e94ebe38",
  // "675b84fe75e216ab947c7438ee519ca7775376ddf05dadfba6278bd012e1d728",

  // "efe5d120df0cc290fa748727fb45ac487caad346d4f2293ab069e8f01fc51981",
  // "5afa711a2e4f45294c9ca8033861a0e15a879e6fc1a4a6903640f7faeae0d7b8",
  // "8aa70f4433129dadb71330ac89f62b534caa200a9f3ee349a0f4a5593073d1a6",
  // "c7e300eb1e297c5331cf57ae1304b48e5adeeb56c492d9f450494b39e94ebe38",
  // "675b84fe75e216ab947c7438ee519ca7775376ddf05dadfba6278bd012e1d728",
  // "99cefa645b00817373239aebb96d2d1990244994e5e565566c82c04b8dc65b54",
  // "b7c7f5d30652fbe57aa4ffd373c5fa3912760842c71d260b0f5c498f020f5f03",
  // "d60397e8a390b41dd17551b04be27ad26831beb6d55a98a1f14d94ec2fe3fde0",
  // "9279276bffb83cee33946e564c3600a32840269a8206d01ddf40c6432baa0bcb",
  // "41e368dbaade3de1f0099f58d4e05f8956ad360a9eb7ea210c4272da9ffa04e8",
  // "e05cb33ce37bfadfc26a5406e082f84550f63f992df5256dfd08ac62082a99e",
  // "16afe0531a7cd932b9a7c6cdceb9b6c19a43b364af4cce7eb6064de2f9bf18d0",
  // "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322",
  // "e185c2ad0b87b3207ac2b96d6b8fb1ff10fbf25f93eef4d04fb6dbb9039f19fb",
  // "99c31c5745565d627684dcf231378b77bb509606f550cfd77bc9ac8fe2bc26f6",
  // "9ce71f1506ccf4b99f234af49bd6202be883a80f95a155c6e9a1c36fd7e780c7",
  // "cbab7074a03bf89c7dd1623e42e65409e3918662af6c65fe2e38c92ff9f0bd61",
  // "b6f856ffc06f6b1d3cc6fbee75adffaed247825b50b929f1bd3483a65b519e34",
  // "18f54af1e10c5bb7a35468b0f62b295d12347903c9f95738d065c84bef1402ef",
  // "7202985c7e34a7c1c48b93d882a953c5258cf226204ec95bececd8360c792969",
  // "db333633799ef7f9dbb2967abcbed657b6c67578459f2bc2bd88d5842a60f954",
  //
  //
  "6e1a6ad5b47e106d3f1be0f2d531580431533b2eb10fad59610594c5455cff7b",
  "57dff5343897ca899797b0456d933b637f1051191fd2757889621d48e2f4d622",
  "f40c016cf439fe9a1bd8deccf6e11bc3e00655147b5f69691a460972c5f5e7b3",
  "9b01d92437819fd91c951ed09fd03036d1c036541f69e17ddfef2e7c7a3f31b7",
  "30e39614bf11a831fe8e5abd4ff34e0d0f19337e505ea16e7b55770208f1a65b",
  "d5f6d6db022fea369a2fec29541844567f12ad6991ed413c6b4be108a8468dcc",
  // "41be274d7dd6cc2bf09bc9bc618cd4476ca1800bebd8888cabdc99f18ba",
  "866285e35302b3f3688786bb5a118c8bffd98c255c8634f6a172e0abd63ddc73",
  "7877d504a89e7464576d9c06ba2d06fb1de2b2e017ac107de2710216ef24df01",
  "65eec5d230d6bb899db4d7d947f4fc82b0e8965b08fcd683a6478962337ebcdb", //
];
async function wsClient(url: string) {
  console.log("connecting to relae", url);
  const relay = new Relay(url, (msg) => {
    // console.log("msg", msg);
  });

  relay.onerror = (error) => {
    console.log(url);
    console.error("ws error", error);
  };
  relay.ondisconnect = () => {
    console.error(url, "relay disconnected");
  };
  relay.onfailure = () => {
    console.error(url, "relay failed");
  };
  relay.onnotice = (notice) => {
    console.error("on notice", notice);
  };
  relay.onconnect = () => {
    console.log("relay connected", url);
  };
  await relay.connect();
  const id = crypto.randomUUID();
  const fids = ids.filter((i) => i.length === 64);
  const filter = { ids: fids, limit: 500 };
  // const filter = { kinds: [1, 6], limit: 50 };
  // const filter = {
  //   kinds: [0],
  //   authors,
  // };
  console.log("author count", authors.length);
  let eventCount = 0;
  const pubkeys: string[] = [];
  relay.subscribe(id, [filter], {
    oneose: () => {
      console.log("oneose");
      console.log({ eventCount });
      console.log(pubkeys);
    },
    onevent(event) {
      // console.log("relay event", { url, event });
      eventCount++;
      pubkeys.push(event.pubkey);
    },
    onclose: (msg) => {
      console.log("sub closed wtf", msg);
    },
  });
  // const socket = new WebSocket(url);
  // socket.addEventListener("open", (event) => {
  //   //
  //   console.log("socket client open", event);
  // });
  // socket.addEventListener("close", (event) => {
  //   //
  //   console.log("socket client close", event);
  // });
  // socket.addEventListener("error", (event) => {
  //   //
  //   console.log("socket client error", event);
  // });
  // socket.addEventListener("message", (event) => {
  //   //
  //   console.log("socket client msg", event);
  // });
  // return socket;
}

const relays = ["wss://nos.lol", "wss://relay.damus.io"];

async function run() {
  console.log("wth");
  for (const r of relays) {
    await wsClient(r);
  }
}
run();