1+ import os
2+ import sys
3+ from pathlib import Path
14import bip39 # type: ignore
25from glclient import Credentials , Signer , Scheduler # type: ignore
36from pathlib import Path
@@ -48,7 +51,7 @@ def register_node(seed: bytes, developer_cert_path: str, developer_key_path: str
4851 # ---8<--- [end: dev_creds]
4952
5053 # ---8<--- [start: init_signer]
51- network = "bitcoin "
54+ network = "regtest "
5255 signer = Signer (seed , network , developer_creds )
5356 # ---8<--- [end: init_signer]
5457
@@ -66,16 +69,21 @@ def register_node(seed: bytes, developer_cert_path: str, developer_key_path: str
6669
6770 # ---8<--- [end: register_node]
6871
72+ return scheduler , device_creds , signer
73+
74+
75+ def get_node (scheduler : Scheduler , device_creds : Credentials ) -> dict :
6976 # ---8<--- [start: get_node]
7077 scheduler = scheduler .authenticate (device_creds )
7178 node = scheduler .node ()
7279 # ---8<--- [end: get_node]
80+ return node
7381
7482
7583# TODO: Remove node_id from signature and add node_id to credentials
7684def start_node (device_creds_path : str , node_id : bytes ) -> None :
7785 # ---8<--- [start: start_node]
78- network = "bitcoin "
86+ network = "regtest "
7987 device_creds = Credentials .from_path (device_creds_path )
8088 scheduler = Scheduler (network , device_creds )
8189
@@ -106,7 +114,7 @@ def start_node(device_creds_path: str, node_id: bytes) -> None:
106114def recover_node (developer_cert : bytes , developer_key : bytes ) -> None :
107115 # ---8<--- [start: recover_node]
108116 seed = read_file ("seed" )
109- network = "bitcoin "
117+ network = "regtest "
110118 signer_creds = Credentials .nobody_with (developer_cert , developer_key )
111119 signer = Signer (seed , network , signer_creds )
112120
@@ -124,3 +132,42 @@ def recover_node(developer_cert: bytes, developer_key: bytes) -> None:
124132
125133 scheduler .recover (signer )
126134 # ---8<--- [end: recover_node]
135+
136+ def main ():
137+ NETWORK = "regtest"
138+ base_dir = "/tmp/gltests/gl-testserver/certs/users"
139+ developer_cert_path = Path (base_dir ) / "nobody.crt"
140+ developer_key_path = Path (base_dir ) / "nobody-key.pem"
141+
142+ # Verify files exist
143+ if not os .path .exists (developer_cert_path ):
144+ print (f"Error: Developer certificate not found at { developer_cert_path } " )
145+ sys .exit (1 )
146+
147+ if not os .path .exists (developer_key_path ):
148+ print (f"Error: Developer key not found at { developer_key_path } " )
149+ sys .exit (1 )
150+
151+ # Step 1: Create seed
152+ print ("Creating seed..." )
153+ seed = create_seed ()
154+
155+ # Step 2: Register node
156+ print ("Registering node..." )
157+ my_scheduler , device_creds , signer = register_node (seed , developer_cert_path , developer_key_path )
158+
159+ # Step 3: Get GL node
160+ print ("Getting GL node info..." )
161+ node = get_node (my_scheduler , device_creds )
162+
163+ # Step 3: Get lightning node's information
164+ print ("Fetching lightning node getinfo..." )
165+ info = node .get_info ()
166+ print ('Node information:' )
167+ print (info )
168+
169+ # Remove the assert False to let the script complete normally
170+ print ("Script completed successfully!" )
171+
172+ if __name__ == "__main__" :
173+ main ()
0 commit comments