33package main
44
55import (
6- "fmt"
76 "log"
7+ "log/slog"
8+ "os"
89
910 "github.com/bsv-blockchain/go-overlay-discovery-services/pkg/advertiser"
1011 "github.com/bsv-blockchain/go-overlay-discovery-services/pkg/types"
@@ -14,8 +15,10 @@ import (
1415)
1516
1617func main () {
17- fmt .Println ("BSV Overlay Discovery Services - WalletAdvertiser Example" )
18- fmt .Println ("========================================================" )
18+ logger := slog .New (slog .NewTextHandler (os .Stdout , nil ))
19+
20+ logger .Info ("BSV Overlay Discovery Services - WalletAdvertiser Example" )
21+ logger .Info ("========================================================" )
1922
2023 // Example configuration
2124 chain := "main"
@@ -31,7 +34,7 @@ func main() {
3134 }
3235
3336 // Create a new WalletAdvertiser
34- fmt . Println ( " \n 1. Creating WalletAdvertiser..." )
37+ logger . Info ( " Creating WalletAdvertiser" , slog . String ( "step" , "1" ) )
3538 advertiser , err := advertiser .NewWalletAdvertiser (
3639 chain ,
3740 privateKey ,
@@ -42,26 +45,26 @@ func main() {
4245 if err != nil {
4346 log .Fatalf ("Failed to create WalletAdvertiser: %v" , err )
4447 }
45- fmt . Printf ( "✓ WalletAdvertiser created successfully\n " )
46- fmt . Printf ( " Chain: %s \n " , advertiser .GetChain ())
47- fmt . Printf ( " Storage URL: %s \n " , advertiser .GetStorageURL ())
48- fmt . Printf ( " Advertisable URI: %s \n " , advertiser .GetAdvertisableURI ())
48+ logger . Info ( " WalletAdvertiser created successfully" ,
49+ slog . String ( "chain " , advertiser .GetChain ()),
50+ slog . String ( "storageURL " , advertiser .GetStorageURL ()),
51+ slog . String ( "advertisableURI " , advertiser .GetAdvertisableURI () ))
4952
5053 // Set up mock dependencies (in a real scenario, these would be actual implementations)
51- fmt . Println ( " \n 2. Setting up dependencies..." )
54+ logger . Info ( " Setting up dependencies" , slog . String ( "step" , "2" ) )
5255 advertiser .SetSkipStorageValidation (true ) // Skip storage validation for example
53- fmt . Println ( "✓ Dependencies configured" )
56+ logger . Info ( " Dependencies configured" )
5457
5558 // Initialize the advertiser
56- fmt . Println ( " \n 3. Initializing WalletAdvertiser..." )
57- if err : = advertiser .Init (); err != nil {
59+ logger . Info ( " Initializing WalletAdvertiser" , slog . String ( "step" , "3" ) )
60+ if err = advertiser .Init (); err != nil {
5861 log .Fatalf ("Failed to initialize WalletAdvertiser: %v" , err )
5962 }
60- fmt . Printf ( "✓ WalletAdvertiser initialized successfully\n " )
61- fmt . Printf ( " Initialized: %v \n " , advertiser .IsInitialized ())
63+ logger . Info ( " WalletAdvertiser initialized successfully" ,
64+ slog . Bool ( "initialized " , advertiser .IsInitialized () ))
6265
6366 // Create some example advertisements
64- fmt . Println ( " \n 4. Creating advertisements..." )
67+ logger . Info ( " Creating advertisements" , slog . String ( "step" , "4" ) )
6568 adsData := []* oa.AdvertisementData {
6669 {
6770 Protocol : overlay .ProtocolSHIP ,
@@ -73,41 +76,41 @@ func main() {
7376 },
7477 }
7578
76- // Note: This will fail in the current implementation since BSV SDK integration is not complete
79+ // This will fail in the current implementation since BSV SDK integration is not complete
7780 _ , err = advertiser .CreateAdvertisements (adsData )
7881 if err != nil {
79- fmt . Printf ( "⚠ CreateAdvertisements failed (expected): %v \n " , err )
80- fmt . Println ( " This is expected as BSV SDK integration is not yet implemented" )
82+ logger . Warn ( " CreateAdvertisements failed (expected)" , slog . String ( "error" , err . Error ()) )
83+ logger . Info ( " This is expected as BSV SDK integration is not yet implemented" )
8184 }
8285
8386 // Parse an example advertisement
84- fmt . Println ( " \n 5. Parsing an advertisement..." )
87+ logger . Info ( " Parsing an advertisement" , slog . String ( "step" , "5" ) )
8588 outputScriptBytes := []byte {0x01 , 0x02 , 0x03 , 0x04 , 0x05 } // Mock script
8689 outputScript := script .NewFromBytes (outputScriptBytes )
8790 advertisement , err := advertiser .ParseAdvertisement (outputScript )
8891 if err != nil {
89- fmt . Printf ("Failed to parse advertisement: %v \n " , err )
92+ logger . Error ("Failed to parse advertisement" , slog . String ( "error" , err . Error ()) )
9093 } else {
91- fmt . Printf ( "✓ Advertisement parsed successfully: \n " )
92- fmt . Printf ( " Protocol: %s \n " , advertisement .Protocol )
93- fmt . Printf ( " Identity Key: %s \n " , advertisement .IdentityKey )
94- fmt . Printf ( " Domain: %s \n " , advertisement .Domain )
95- fmt . Printf ( " Topic/Service: %s \n " , advertisement .TopicOrService )
94+ logger . Info ( " Advertisement parsed successfully" ,
95+ slog . Any ( "protocol " , advertisement .Protocol ),
96+ slog . String ( "identityKey " , advertisement .IdentityKey ),
97+ slog . String ( "domain " , advertisement .Domain ),
98+ slog . String ( "topicService " , advertisement .TopicOrService ) )
9699 }
97100
98101 // Find all advertisements for a protocol
99- fmt . Println ( " \n 6. Finding advertisements..." )
102+ logger . Info ( " Finding advertisements" , slog . String ( "step" , "6" ) )
100103 _ , err = advertiser .FindAllAdvertisements (overlay .ProtocolSHIP )
101104 if err != nil {
102- fmt . Printf ( "⚠ FindAllAdvertisements failed (expected): %v \n " , err )
103- fmt . Println ( " This is expected as storage integration is not yet implemented" )
105+ logger . Warn ( " FindAllAdvertisements failed (expected)" , slog . String ( "error" , err . Error ()) )
106+ logger . Info ( " This is expected as storage integration is not yet implemented" )
104107 }
105108
106- fmt . Println ( " \n ✓ Example completed successfully! " )
107- fmt . Println ( " \n Note : Some operations failed as expected because they require:" )
108- fmt . Println ("- BSV SDK integration for transaction creation and signing" )
109- fmt . Println ("- Storage backend integration for persistence" )
110- fmt . Println ("- Real PushDrop decoder implementation" )
109+ logger . Info ( " Example completed successfully" )
110+ logger . Info ( "Note : Some operations failed as expected because they require:" )
111+ logger . Info ("- BSV SDK integration for transaction creation and signing" )
112+ logger . Info ("- Storage backend integration for persistence" )
113+ logger . Info ("- Real PushDrop decoder implementation" )
111114}
112115
113116// Helper functions
0 commit comments