Skip to content

Commit a16f83a

Browse files
example: Run code snippets in examples before merging them in docs
1 parent 2d54fbe commit a16f83a

File tree

1 file changed

+50
-3
lines changed

1 file changed

+50
-3
lines changed

examples/python/snippets/getting_started.py

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import os
2+
import sys
3+
from pathlib import Path
14
import bip39 # type: ignore
25
from glclient import Credentials, Signer, Scheduler # type: ignore
36
from 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
7684
def 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:
106114
def 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

Comments
 (0)