99
1010from xdg import BaseDirectory
1111
12- from golem_base_sdk import Annotation , GolemBaseClient , GolemBaseCreate , GolemBaseExtend
12+ from golem_base_sdk import (
13+ Annotation ,
14+ GolemBaseClient ,
15+ GolemBaseCreate ,
16+ GolemBaseDelete ,
17+ GolemBaseExtend ,
18+ GolemBaseUpdate ,
19+ )
1320
1421__version__ = "0.0.1"
1522
@@ -58,11 +65,12 @@ async def run_example(instance: str) -> None:
5865 """
5966 connect
6067 """
68+
6169 with open (
6270 BaseDirectory .xdg_config_home + "/golembase/private.key" ,
6371 "rb" ,
64- ) as f :
65- key_bytes = f .readline ()
72+ ) as private_key_file :
73+ key_bytes = private_key_file .readline ()
6674
6775 client = await GolemBaseClient .create (
6876 rpc_url = INSTANCE_URLS [instance ]["rpc" ],
@@ -71,29 +79,69 @@ async def run_example(instance: str) -> None:
7179 )
7280
7381 await client .watch_logs (
74- lambda create : logger .info ("Got create event: %s" , create ),
75- lambda update : logger .info ("Got update event: %s" , update ),
76- lambda deleted_key : logger .info ("Got delete event: %s" , deleted_key ),
77- lambda extension : logger .info ("Got extension event: %s" , extension ),
82+ lambda create : logger .info (
83+ """\n
84+ Got create event: %s
85+ """ ,
86+ create ,
87+ ),
88+ lambda update : logger .info (
89+ """\n
90+ Got update event: %s
91+ """ ,
92+ update ,
93+ ),
94+ lambda deleted_key : logger .info (
95+ """\n
96+ Got delete event: %s
97+ """ ,
98+ deleted_key ,
99+ ),
100+ lambda extension : logger .info (
101+ """\n
102+ Got extend event: %s
103+ """ ,
104+ extension ,
105+ ),
78106 )
79107
80108 if await client .is_connected ():
81109 block = await client .http_client ().eth .get_block ("latest" )
110+
111+ logger .info ("""\n
112+ *****************************
113+ * Checking basic methods... *
114+ *****************************
115+ """ )
116+
82117 logger .info ("Retrieved block %s" , block .number )
83118
84119 logger .info ("entity count: %s" , await client .get_entity_count ())
85120
121+ logger .info ("""\n
122+ *************************
123+ * Creating an entity... *
124+ *************************
125+ """ )
126+
86127 create_receipt = await client .create_entities (
87128 [GolemBaseCreate (b"hello" , 60 , [Annotation ("app" , "demo" )], [])]
88129 )
89130 entity_key = create_receipt [0 ].entity_key
90131 logger .info ("receipt: %s" , create_receipt )
91132 logger .info ("entity count: %s" , await client .get_entity_count ())
92133
93- logger .info (entity_key )
134+ logger .info ("created entity with key %s" , entity_key )
94135 logger .info ("storage value: %s" , await client .get_storage_value (entity_key ))
95136 metadata = await client .get_entity_metadata (entity_key )
96137 logger .info ("entity metadata: %s" , metadata )
138+
139+ logger .info ("""\n
140+ ***********************************
141+ * Extend the BTL of the entity... *
142+ ***********************************
143+ """ )
144+
97145 logger .info (
98146 "entities to expire at block: %s" ,
99147 await client .get_entities_to_expire_at_block (metadata .expires_at_block ),
@@ -102,9 +150,44 @@ async def run_example(instance: str) -> None:
102150 extend_receipt = await client .extend_entities ([GolemBaseExtend (entity_key , 60 )])
103151 logger .info ("receipt: %s" , extend_receipt )
104152
153+ logger .info (
154+ "entities to expire at block: %s" ,
155+ await client .get_entities_to_expire_at_block (metadata .expires_at_block ),
156+ )
157+ logger .info ("entity metadata: %s" , await client .get_entity_metadata (entity_key ))
158+
159+ logger .info ("""\n
160+ ************************
161+ * Update the entity... *
162+ ************************
163+ """ )
164+
165+ update_receipt = await client .update_entities (
166+ [GolemBaseUpdate (entity_key , b"hello" , 60 , [Annotation ("app" , "demo" )], [])]
167+ )
168+ logger .info ("receipt: %s" , update_receipt )
169+ entity_key = update_receipt [0 ].entity_key
170+
171+ logger .info ("entity metadata: %s" , await client .get_entity_metadata (entity_key ))
172+
173+ logger .info ("""\n
174+ *************************
175+ * Query for entities... *
176+ *************************
177+ """ )
178+
179+ query_result = await client .query_entities ('app = "demo"' )
180+ logger .info ("Query result: %s" , query_result )
181+
182+ logger .info ("""\n
183+ ************************
184+ * Delete the entity... *
185+ ************************
186+ """ )
105187
106- query_result = await client .query_entities ('foo = "bar"' )
107- logger .info ("query result: %s" , query_result )
188+ logger .info ("entity metadata: %s" , await client .get_entity_metadata (entity_key ))
189+ receipt = await client .delete_entities ([GolemBaseDelete (entity_key )])
190+ logger .info ("receipt: %s" , receipt )
108191
109192 logger .info (
110193 "My entities: %s" ,
0 commit comments