Skip to content

Commit c544adf

Browse files
committed
problem: can't publish bloom filter
1 parent a3517c7 commit c544adf

File tree

1 file changed

+52
-25
lines changed

1 file changed

+52
-25
lines changed

src/lib/views/messages/Messages.svelte

Lines changed: 52 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
import { System } from './snort';
1414
import { updateRepliesInPlace } from '@/snort_workers/utils';
1515
import Login from '@/ndk/Login.svelte';
16-
import { currentUser } from '@/ndk/ndk';
16+
import { currentUser, ndk } from '@/ndk/ndk';
1717
import Input from '@/components/ui/input/input.svelte';
1818
import { BloomFilter } from 'bloomfilter';
19+
import { NDKEvent } from '@nostr-dev-kit/ndk';
1920
2021
let localEvents = writable(new Map<string, NostrEvent>());
2122
@@ -152,8 +153,9 @@
152153
return inSet.has(id);
153154
}
154155
155-
let eventID:string;
156+
let eventID: string;
156157
</script>
158+
157159
<div class=" hidden">{$shortListLength}</div>
158160
<ChatLayout hideFaucet={$threadParentID != 'root'}>
159161
<div slot="buttons">
@@ -195,36 +197,61 @@
195197
<div slot="right">
196198
<div class=" ml-2">
197199
<h3>HUMBLE HORSE</h3>
198-
events
199200
<h6>Release Name: "Giddy Up"</h6>
201+
<div class="mt-4"></div>
200202
Events in memory: {$FrontendDataStore.events.size}<br />
201203
<Button
202204
onClick={() => {
203205
console.log($threadParentID, $FrontendDataStore.replies.get($threadParentID));
204206
}}>Print root event data</Button
205207
><br />
206-
LOGGED IN AS: {$currentUser?.pubkey} <br />
207-
<Input bind:value={eventID} class="w-64" /><Button onClick={()=>{
208-
let bloom = new BloomFilter(32 * 256, 32)
209-
bloom.add("12345")
210-
console.log(bloom.test("12345"))
211-
let testbloom = new BloomFilter(JSON.parse($FrontendDataStore._bloomString), 32)
212-
console.log(testbloom)
213-
for (let e of $stableShortList) {
214-
console.log(testbloom.test(e.id))
215-
}
216-
console.log(216, testbloom.test(eventID))
217-
// console.log($FrontendDataStore.ourBloom)
218-
// if ($FrontendDataStore.ourBloom) {
219-
// console.log(210)
220-
// console.log(eventID)
221-
// $FrontendDataStore.ourBloom.add("t")
222-
// let result = $FrontendDataStore.ourBloom.test(eventID)
223-
// console.log(213)
224-
// console.log(214, result)
225-
// }
226-
}}>Check if event is in bloom filter</Button><br />
227-
{$FrontendDataStore.ourBloom?.buckets.byteLength}
208+
<p>LOGGED IN AS: {$currentUser?.pubkey}</p>
209+
<h3 class=" mt-4">Bloom Filter Metrics</h3>
210+
211+
Bits/Elem: {$FrontendDataStore.ourBloom?.buckets.BYTES_PER_ELEMENT * 8}<br />
212+
Array Length (bits): {$FrontendDataStore.ourBloom?.buckets.byteLength * 8}<br />
213+
<Input placeholder="event ID" class="mt-6 w-96" bind:value={eventID} /><Button
214+
onClick={() => {
215+
let testbloom = new BloomFilter(JSON.parse($FrontendDataStore._bloomString), 32);
216+
for (let e of $stableShortList) {
217+
console.log(testbloom.test(e.id));
218+
}
219+
console.log(216, testbloom.test(eventID));
220+
}}
221+
>Query bloom filter
222+
</Button><br />
223+
<Button onClick={()=>{
224+
let bloom = $FrontendDataStore.ourBloom
225+
console.log(1)
226+
if (!bloom) {throw new Error("invalid bloom filter")}
227+
if (!$currentUser) {throw new Error("invalid user")}
228+
console.log(2)
229+
let e = new NDKEvent($ndk)
230+
console.log(3)
231+
e.kind = 18100;
232+
e.created_at = Math.floor(new Date().getTime() / 1000);
233+
e.content = "Bloom filter test"
234+
e.tags.push(["bloom", "32", JSON.stringify([].slice.call(bloom.buckets))])
235+
e.author = $currentUser
236+
console.log(4)
237+
e.publish().then(r=>{
238+
console.log(r)
239+
console.log(e)
240+
})
241+
console.log(5)
242+
}}>Publish bloom filter</Button>
243+
<div>
244+
<h3>TODO</h3>
245+
<ul>
246+
<li>Simple lndhub & cashu interface</li>
247+
<li>Nostrocket problem tracker</li>
248+
<li>Help thread</li>
249+
<li>DVM requests</li>
250+
<li>Latest stuff from highlighter</li>
251+
<li>Tiks (highlights of podcasts/videos using ffmpeg segmented blossom server)</li>
252+
<li></li>
253+
</ul>
254+
</div>
228255
</div>
229256
</div>
230257
</ChatLayout>

0 commit comments

Comments
 (0)