1
1
import React , { Component } from "react" ;
2
- import { ClientBuilder , NostrSigner , NostrZapper , Filter , LogLevel , NegentropyOptions , Nip07Signer , NostrDatabase , PublicKey , ZapDetails , ZapEntity , ZapType , initLogger , loadWasmAsync } from '@rust-nostr/nostr-sdk'
2
+ import { ClientBuilder , EventBuilder , NostrSigner , NostrZapper , Filter , LogLevel , SyncOptions , Nip07Signer , NostrDatabase , PublicKey , ZapDetails , ZapEntity , ZapType , initLogger , loadWasmAsync } from '@rust-nostr/nostr-sdk'
3
3
import './App.css' ;
4
- import { EventBuilder } from "../../../pkg/nostr_sdk_js" ;
5
4
6
5
class App extends Component {
7
6
constructor ( ) {
8
7
super ( ) ;
9
- this . state = {
8
+ this . state = {
10
9
public_key : null ,
11
10
nip07_signer : null ,
12
11
client : null
@@ -19,7 +18,8 @@ class App extends Component {
19
18
20
19
// Try to initialize log
21
20
try {
22
- initLogger ( LogLevel . info ( ) ) ;
21
+ initLogger ( LogLevel . debug ( ) ) ;
22
+ console . log ( "Logger initialized" ) ;
23
23
} catch ( error ) { }
24
24
}
25
25
@@ -29,33 +29,37 @@ class App extends Component {
29
29
let nip07_signer = new Nip07Signer ( ) ;
30
30
let signer = NostrSigner . nip07 ( nip07_signer ) ;
31
31
let zapper = await NostrZapper . webln ( ) ;
32
- let db = await NostrDatabase . indexeddb ( "nostr-sdk-webapp-example" ) ;
32
+
33
+ console . log ( "Opening database..." ) ;
34
+ let db = await NostrDatabase . web ( "nostr-sdk-webapp-example-2" ) ;
35
+ console . log ( "Database opened." ) ;
36
+
33
37
let client = new ClientBuilder ( ) . signer ( signer ) . zapper ( zapper ) . database ( db ) . build ( ) ;
34
38
35
39
let public_key = await nip07_signer . getPublicKey ( ) ;
36
-
40
+
37
41
// Add relays
38
42
await client . addRelay ( "wss://relay.damus.io" ) ;
39
43
await client . addRelay ( "wss://nos.lol" ) ;
40
44
await client . addRelay ( "wss://nostr.oxtr.dev" ) ;
41
-
45
+
42
46
// Connect to relays
43
47
await client . connect ( ) ;
44
-
48
+
45
49
// Save client to state
46
50
this . setState ( { client, nip07_signer, public_key } ) ;
47
51
} catch ( error ) {
48
- console . log ( error )
52
+ console . log ( error )
49
53
}
50
54
} ;
51
55
52
56
handleReconcile = async ( ) => {
53
57
try {
54
58
let filter = new Filter ( ) . author ( this . state . public_key ) ;
55
- let opts = new NegentropyOptions ( ) ;
59
+ let opts = new SyncOptions ( ) ;
56
60
await this . state . client . sync ( filter , opts ) ;
57
61
} catch ( error ) {
58
- console . log ( error )
62
+ console . log ( error )
59
63
}
60
64
}
61
65
@@ -66,29 +70,29 @@ class App extends Component {
66
70
console . time ( "query" ) ;
67
71
let events = await database . query ( [ filter ] ) ;
68
72
console . timeEnd ( "query" ) ;
69
- console . log ( "Got" , events . length , "events" ) ;
73
+ console . log ( "Got" , events . len ( ) , "events" ) ;
70
74
} catch ( error ) {
71
75
console . log ( error )
72
76
}
73
77
}
74
78
75
79
handlePublishTextNote = async ( ) => {
76
80
try {
77
- let builder = EventBuilder . textNote ( "Test from rust-nostr JavaScript bindings with NIP07 signer!" , [ ] ) ;
81
+ let builder = EventBuilder . textNote ( "Test from rust-nostr JavaScript bindings with NIP07 signer!" ) ;
78
82
await this . state . client . sendEventBuilder ( builder ) ;
79
83
} catch ( error ) {
80
- console . log ( error )
84
+ console . log ( error )
81
85
}
82
86
} ;
83
87
84
88
handleZap = async ( ) => {
85
89
try {
86
- let pk = PublicKey . fromBech32 ( "npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet" ) ;
90
+ let pk = PublicKey . parse ( "npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet" ) ;
87
91
let entity = ZapEntity . publicKey ( pk ) ;
88
92
let details = new ZapDetails ( ZapType . Public ) . message ( "Zap for Rust Nostr!" ) ;
89
93
await this . state . client . zap ( entity , 1000 , details ) ;
90
94
} catch ( error ) {
91
- console . log ( error )
95
+ console . log ( error )
92
96
}
93
97
} ;
94
98
@@ -98,7 +102,7 @@ class App extends Component {
98
102
this . setState ( { client : null } ) ;
99
103
console . log ( "Logout done" ) ;
100
104
} catch ( error ) {
101
- console . log ( error )
105
+ console . log ( error )
102
106
}
103
107
} ;
104
108
0 commit comments